Согласно документам WM_ENDESSION, когда lParam является ENDSESSION_CLOSEAPP и wParam, ЛОЖЬ, "приложение не должно закрываться".
(Я слушаю события/сообщения Windows в QT (C++) для завершения работу некоторых запущенных процессов, но это - просто контекст и не должно иметь никакого переноса здесь...),
Да, WM_ENDSESSION
с wParam == false
используется только для информации. Перед его получением ваше приложение получит WM_QUERYENDSESSION
. Если вы сделали что-то, чтобы подготовиться к завершению работы в ответ на WM_QUERYENDSESSION
, вы можете отменить это, когда / если вы получили WM_ENDSESSION
с wParam = false
]. Если вы не предприняли никаких действий, чтобы начать завершение работы, вы можете просто вернуть 0.