Programowanie w języku Delphi » FAQ

Jak wykryć moment zamykania Windows

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 komentarze

dos 2005-05-13 16:31

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

aZgon 2003-10-09 18:24

A jak np. anulować procedure zamykania systemu ??