Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Visual Studio中停止运行程序时终止程序 我在Visual C++中应用程序,当程序终止时,通过在右上角推“X”来关闭窗口,从而捕获窗口消息。这里,它遵循常规过程:WM\u关闭->WM\u销毁->WM\u退出 long FAR PASCAL MAIN_WindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { ... case WM_CLOSE: { if ( Game() && pcgaming()->active ) { if ( Game()->MainStatus != MAINSTATUS_SHUTTINGDOWN ) { Game()->Exit_To_Windows = true; Game()->ExitNow( EXIT_ESCAPE ); } } return (long) 0; }break; ..._C++_Visual Studio_Visual C++ - Fatal编程技术网

在Visual Studio中停止运行程序时终止程序 我在Visual C++中应用程序,当程序终止时,通过在右上角推“X”来关闭窗口,从而捕获窗口消息。这里,它遵循常规过程:WM\u关闭->WM\u销毁->WM\u退出 long FAR PASCAL MAIN_WindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { ... case WM_CLOSE: { if ( Game() && pcgaming()->active ) { if ( Game()->MainStatus != MAINSTATUS_SHUTTINGDOWN ) { Game()->Exit_To_Windows = true; Game()->ExitNow( EXIT_ESCAPE ); } } return (long) 0; }break; ...

在Visual Studio中停止运行程序时终止程序 我在Visual C++中应用程序,当程序终止时,通过在右上角推“X”来关闭窗口,从而捕获窗口消息。这里,它遵循常规过程:WM\u关闭->WM\u销毁->WM\u退出 long FAR PASCAL MAIN_WindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { ... case WM_CLOSE: { if ( Game() && pcgaming()->active ) { if ( Game()->MainStatus != MAINSTATUS_SHUTTINGDOWN ) { Game()->Exit_To_Windows = true; Game()->ExitNow( EXIT_ESCAPE ); } } return (long) 0; }break; ...,c++,visual-studio,visual-c++,C++,Visual Studio,Visual C++,当您通过按下Visual Studio中的某个应用程序按钮或选择Shift+F5停止运行该应用程序时,程序实际上是如何终止的?有没有像WM_XXX这样的信息需要捕捉 当您按Shift+F5(假设您是从Visual Studio启动的)时,调试器会直接并立即终止子进程。不会向程序发送任何消息或通知 如果您先使用Ctrl+F5,然后手动附加,则Shift+F5将分离,程序将继续运行。然后你就可以投票,因为你不会关门。虽然还不清楚你为什么要这么做 您可以检查调试器和被调试器是否可以用来通信,但基本上被

当您通过按下Visual Studio中的某个应用程序按钮或选择Shift+F5停止运行该应用程序时,程序实际上是如何终止的?有没有像WM_XXX这样的信息需要捕捉

当您按Shift+F5(假设您是从Visual Studio启动的)时,调试器会直接并立即终止子进程。不会向程序发送任何消息或通知

如果您先使用Ctrl+F5,然后手动附加,则Shift+F5将分离,程序将继续运行。然后你就可以投票,因为你不会关门。虽然还不清楚你为什么要这么做


您可以检查调试器和被调试器是否可以用来通信,但基本上被调试器只需向调试器发送额外的调试信息。被调试者可以知道调试器是否已附加,但在即将分离(或终止)调试器时不会收到通知

“Shift+F5”是用于分离调试器的组合键。。您可以从VS.运行应用程序,而无需附加调试器。。如果在用户场景中不会发生分离调试器时,为什么会期望发送消息?@Algirdas Preidzius,就像您关闭窗口时一样,在这种情况下,我也希望收到一条消息,指示刚刚发生了相关事件。正在连接和分离的调试器仅在开发环境中相关,对于开发者来说。有多种方法可以检查是否附加了调试器(),但在一般情况下,对于生产环境来说,这样的功能不够有用,无法保证消息的发送。