我想能夠從控制檯分離我的程序,就像wget -b
。代碼片段可能看起來像C#關閉標準輸出
static void Main(string[] args)
{
var settings = new Settings(args);
if (settings.Background)
{
/*Tell the user what's going on.*/
System.Console.WriteLine("Detatching from console. The program will still be running.");
System.Console.Out.Close();
}
/*do work then exit.*/
}
但是System.Console.Out.Close();
並沒有做正確的事情。
要澄清,「正確的事情」是,從控制檯運行該程序時,提示應該重新出現。或者,從explorer.exe
運行該程序時,控制檯窗口應該關閉。
如果我不清楚,請讓我知道。
可以肯定的是,我明白了你的問題:如果你在cmd窗口中鍵入yourprogram.exe,應該會出現一個新的。如果你在資源管理器中雙擊應用程序,那麼你想讓控制檯關閉?你想用你的應用程序做什麼? – 2012-03-28 18:00:47
沒有控制檯的控制檯應用程序?等不及要看到這個答案... – 2012-03-28 18:00:58
如果你想要一個長時間運行的應用程序停留在後臺,你需要一個Windows服務。如果您只是想定期啓動應用程序,則可以考慮使用任務計劃程序啓動它。 – jlafay 2012-03-28 18:01:27