>If the function retrieves a message other than WM_QUIT, the return value is nonzero.
>If the function retrieves the WM_QUIT message, the return value is zero.
>If there is an error, the return value is -1. For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To get extended error information, call GetLastError.
>Warning >Because the return value can be nonzero, zero, or -1, avoid code like this:
while (GetMessage( lpMsg, hWnd, 0, 0)) ...
>The possibility of a -1 return value means that such code can lead to fatal application errors. Instead, use code like this: