Jak wykryć moment zamykania Windows

Adam Boduch

Do sekcji "private" dodaj taką linie:

procedure ClosingWin(var Message: TMessage); message WM_QUERYENDSESSION;

Teraz w sekcji "implemetation" wpisz:

procedure TForm1.ClosingWin(var Message: TMessage);
begin
if Message.Msg = WM_QUERYENDSESSION then
begin
// jakaś akcja
end;
DefaultHandler(Message)
end;

3 komentarzy

wykrywanie momentu zamykania Windows nie jest po to, aby go anulować tylko po to, aby program bez formy (np. w trayu) system Windows sam wyłączył, a nie czekał w nieskończoność na jego zamknięcie... wtedy można samemu ten program wyłączyć i proszę bardzo! tak się robi przy starych windach np. Win NT, Win 95/98/Me i Win 2000, bo na XP się tak nie robi :D

A jak np. anulować procedure zamykania systemu ??