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;
shutdown -a
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 ??