BOOL bRet; while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0) { if (bRet == -1) { // handle the error and possibly exit } else { TranslateMessage(&msg); DispatchMessage(&msg); }
可以在其中检索消息
if (msg.message == WM_QUIT) { //// }
另外使用PeekMessageA
BOOL bRet; while (true) { MSG message; while (bRet = PeekMessageA(&message, NULL, 0, 0, PM_REMOVE)) { if (message.message == WM_QUIT) { // return message.wParam; } TranslateMessage(&message); DispatchMessageA(&message); } }