Узнать о завершении работы Windows
Материал из DRKB
Узнать о завершении работы Windows[править | править код]
Если текст в Memo1 был изменен, то программа не разрешает завершения сеанса Windows.
type
TForm1 = class(TForm)
private
procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
end;
implementation
procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
Msg.Result := Integer(not Memo1.Modified);
end;
e-mail: delphi4all@narod.ru e-mail: aleksey@sch103.krasnoyarsk.su
Author: : Алексей Денисов
ID: 01673
Как корректно перехватить сигнал выгрузки операционной системы, если в моей программе нет окна
Используй GetMessage(), в качестве HWND окна пиши NULL (на Паскале - 0). Если в очереди сообщений следующее - WM_QUIT, то эта функция фозвращает FALSE. Если ты пишешь программу для Win32, то запихни это в отдельный поток, организующий выход из программы.
Source: http://delphiworld.narod.ru/
ID: 01674