Я пытаюсь написать hello world в win32, но когда я закрываю главное окно, приложение продолжает работать
Моя процедура окна:
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
switch (msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, msg, wparam, lparam);
}
Цикл событий:
while ((bret = GetMessage(&msg, hWndMain, 0, 0) != 0)
{
if (bret == -1)
{
DWORD error = GetLastError();
return 1;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Теперь я получаю WM_DESTROY, нажимая на правый верхний угол x. Вместо GetMessage (), возвращающего 0 для обозначения получения WM_QUIT, вместо этого он возвращает -1, а GetLastError () жалуется на ошибку 1400, которая «недействительна». оконная ручка "
... я в недоумении.