如何自动关闭Console Application窗口

时间:2014-11-20 12:29:32

标签: c# console console-application

我正在运行控制台应用程序,当最后一行文本写入控制台窗口时,我希望控制台窗口在5秒后自动关闭。
现在始终有“按任意键继续'的消息。有没有办法抑制此消息并在5秒后关闭窗口?

我尝试了return 0;System.Environment.Exit(1),但没有成功 非常感谢任何帮助。

static int Main(string[] args)
{
    Console.WriteLine("This is the last message.");
    Thread.Sleep(5000);
    // System.Environment.Exit(1);
    return 0;
}

2 个答案:

答案 0 :(得分:2)

默认情况下,Microsoft在开发IDE中提供了

Press any key to continue。每当您从IDE运行应用程序时,您必须期望任何输出正确吗?这是为此目的而给出的,以便用户可以看到生成的输出。无论您的项目模式是Debug还是Release,您都会收到此消息。如果您将在所有MSDN文档中看到(假设this),他们在代码示例中特别提到: -

// Keep the console open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();

因为当您使用Ctrl+F5直接运行应用程序时,您会收到此消息“按任意键继续”但在调试时您将不会收到此消息。

如果您将从IDE外部运行,即直接双击生成的.exe文件,您将无法找到此消息,同时您也将实时运行此文件BAT文件或其他东西(显然你不会要求最终用户从Visual Studio IDE运行你的应用程序)然后你也不会得到这个消息。

只需使用您的代码(如下所述)并运行.exe目录中的bin文件,即可获得所需的结果。

static void Main(string[] args)
{
        Console.WriteLine("Please enter something");
        Thread.Sleep(5000);
}

因此,简而言之,这仅适用于 IDE

答案 1 :(得分:0)

编译应用程序并运行它应该自动关闭控制台(使用Windows命令提示符)。除非您打开命令提示符并从其中运行程序,否则这是不可能的。

您无法强制控制台自行关闭,您的程序只能在其中运行。