1. 程式人生 > >使用PeekMessage後,呼叫postquitmessage(0)不能退出訊息迴圈的原因

使用PeekMessage後,呼叫postquitmessage(0)不能退出訊息迴圈的原因

如果使用PeekMessage(&msg, hwnd, 0, 0, PM_REMOVE),當呼叫postquitmessage(0)後,視窗被關閉,此時hwnd已經無效,那麼PeekMessage(&msg, hwnd, 0, 0, PM_REMOVE)將會獲取到一個0xa1的訊息,這個訊息不等於MSG_QUIT, 所以不會跳出迴圈,正確的做法是

PeekMessage(&msg, 0, 0, 0, PM_REMOVE)