Приветствую всех!
Изучаю WinAPI, стал интересен момент закрытия программы, то есть выброс сообщения
WM_DESTROY
. Не могу понять следующий момент, постараюсь объяснить:
Когда я нажимаю на крестик в верхней области окна (или Alt+F4), виндовс, моей программе присылает сообщение
WM_DESTROY
при этом сама (винда) скрывает мое окно.
Я подумал, а что если отвергнув сообщение
WM_DESTROY
, не завершать работу программы и отобразить окно снова.
На обработке сообщения, стоит следующий код:
case WM_DESTROY :
if (MessageBox(hwnd, "Пришла просьба закрыться!","!!!", MB_OKCANCEL) == IDOK )
{
PostQuitMessage(0) ;
}
else
{
ShowWindow(hwnd, SW_NORMAL);
}
return 0 ;
При том, что я нажимаю "Отмена", окно не отображается и процесс программы не закрылся!
Кто нибудь может пояснить что конкретно происходит при закрытии программы?
И почему виндовс при закрытии, раньше времени, пока еще работает WinMain, скрывает мою клиентскую область?