如何自动关闭控制台应用程序窗口

3

我正在运行一个控制台应用程序,当最后一行文字被写入控制台窗口时,我希望控制台窗口在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;
}

“Press any key to continue”这条消息是从哪里来的?你发布的代码应该是一个控制台应用程序,运行5秒钟然后关闭。 - Ben Robinson
要让“按任意键继续”出现,您必须实际执行它。 - Vajura
1
你是在调试模式下运行吗? - Paweł Reszka
John357,如果你想感谢这个网站上的某个人提供的帮助,你可以给他的帖子点赞并接受它作为答案(点击旁边的勾号)。请阅读这篇简短的帮助文章当有人回答我的问题时我该怎么做? - Fedor
2个回答

5
默认情况下,在Microsoft开发IDE中提供了“按任意键继续”功能。每当您从IDE运行应用程序时,您都希望看到任何输出对吧?这是为此目的而提供的,以便用户可以查看生成的输出。无论您的项目模式是“调试”还是“发布”,您都将收到此消息。如果您查看所有MSDN文档(假设此处),它们在代码示例中明确说明:-
// Keep the console open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();

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

如果您从IDE外部运行此文件,即通过双击生成的.exe文件直接运行,则不会出现此消息。实时运行此文件时,您将从BAT文件或其他文件中运行此文件(显然,您不会要求最终用户从Visual Studio IDE运行您的应用程序),也不会收到此消息。

只需使用下面提到的代码,并运行bin目录中存在的.exe文件,即可获得所需的结果。

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

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

0

编译应用程序并运行它应该自动关闭控制台(使用Windows命令提示符)。除非您在命令提示符中打开命令提示符并从其中运行程序。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接