Tag: 消息循环

Win32消息循环:使用GetMessage(&msg,NULL,0,0)关闭窗口后退出?

如果我在下面有以下代码,如何检测窗口何时关闭,以便我可以退出? 似乎永远不会得到值-1 0 ,我需要处理整个线程的消息,而不仅仅是当前窗口。 HWND hWnd = CreateWindowExW(0, L”Edit”, L”My Window”, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 300, 200, NULL, NULL, NULL, NULL); ShowWindow(hWnd, SW_SHOWDEFAULT); MSG msg; BOOL r; while ((r = GetMessageW(&msg, NULL, 0, 0)) != 0) { if (r == -1) { break; } TranslateMessage(&msg); DispatchMessageW(&msg); }