Так что у меня есть приложение без форм с бесконечным циклом.
В цикле я проверяю что-то и выполняю работу приложения.
Поэтому мне нужно выключить свое приложение, когда пользователь выключит свой компьютер.
Нашел информацию о WM_QUERYENDSESSION и WM_ENDSESSION, но не знаю, как их поймать.
У кого-нибудь есть примеры, как установить ловушку на это и поймать это сообщение?
Попытался установить крюк, но я думаю, что у меня недостаточно опыта.
Я использовал функцию SetWindowsHookEx, чтобы установить хук.
Есть ли другой способ поймать сообщения о выключении Windows?
Вот прототип приложения:
program Hoook;
{$APPTYPE GUI}
{$R *.res}
uses
System.SysUtils,
Messages,
WinTypes,
Windows;
var a:boolean;
begin
//Here we must set hook
a:=true;
while a=true do
Sleep(1000);
//Check something
//Do something
end.