我有一个好奇的问题,关于通过Cmd运行应用程序时控制台与Windows应用程序之间的区别。如果将应用程序编译为控制台应用程序(将其称为ConApp),则在通过cmd运行应用程序时,提示符会等待应用程序完成运行后才继续。但是,如果将应用程序编译为Windows应用程序(将其称为WinApp),则通过cmd启动应用程序时,提示符将自动快速执行该应用程序。
为了让WinApp停止快速执行,用户需要在cmd中以类似于“start \wait WinApp.exe”的方式启动应用程序,这将使Cmd提示符等待WinApp停止运行后才继续。
我的问题是,控制台应用程序如何通知Cmd或者Cmd怎样才能知道需要保持开放状态而不是快速执行ConApp?是否可以调用同样的行为使得WinApp也能像ConApp一样运行并等待?
注:
我已经尝试使用AllocConsole和AttachConsole,但在我的WinApp中使用AttachConsole(-1)时,Cmd仍然快速执行WinApp,但WinApp似乎只是打开了一个新的控制台窗口。