通过“不调试开始”(Ctrl+ F5)在Visual Studio中运行控制台应用程序时,控制台在运行结束时保持打开状态,要求
按任意键继续 。。。
因此需要激活窗口并按下一个键。有时这不合适。
为什么如此重要:在我编写json序列化代码的那一刻,我的工作流程如下:
一次又一次地执行此操作,无需调试任何东西,只需修剪序列化并检查输出是否良好。
就是这样的工作流程,其中“按任意...”的行为受到阻碍,因为它需要执行以下步骤
没有答案:
我很确定您不会影响或更改此行为。
如您所述,它与您的应用程序本身无关,因为双击EXE时它不会这样做。仅在未连接调试器的情况下从Visual Studio中运行应用程序时,才会看到此效果。
据推测,当您调用Ctrl+时F5,Visual Studio以一种导致控制台窗口保持打开状态的特殊方式运行您的应用程序。我可以想到两种方式:
%COMSPEC% /k "C:\Path\To\YourApplication.exe"
要么
%COMSPEC% /c ""C:\Path\To\YourApplication.exe" & pause"
无论使用哪种方法,您看到的暂停行为都会直接包含在用于启动应用程序的命令中,因此是在应用程序外部的。因此,除非您有权访问Visual Studio源代码,否则您将不会对其进行更改。exit
从您的应用程序中调用函数不会产生任何效果,因为在出现该消息时,您的应用程序已经退出。
当然,除了好奇心之外,我看不出它为什么真正重要。在连接调试器的情况下启动应用程序时不会发生这种情况,这是从IDE启动应用程序时99%的时间。既然你不与你的应用程序一起装运的Visual Studio,用户都将要启动VS.的应用程序之外
为响应对您的问题所做的更新,最好的解决方案是更改您的应用程序,使其不是控制台应用程序。此行为不会影响标准Windows应用程序。当他们关闭时,他们永远关闭。
如果您不需要控制台窗口上的任何输出,那么这很简单:只需更改项目属性中的“应用程序类型”。Windows窗体应用程序将正常运行。如果不显示窗口(又名窗体),则不会自动创建一个窗口。这是常规Windows应用程序与控制台应用程序之间的区别,无论您是否需要,它们总是创建一个控制台窗口。
如果确实需要在控制台窗口上显示输出,则有两个选项:
AllocConsole
函数以创建Windows应用程序可以使用的控制台。您不需要为此的表格。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句