我想能够从控制台分离我的程序,就像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