Einzelnen Beitrag anzeigen

JFB

Registriert seit: 8. Apr 2005
61 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

WM_QUERYENDSESSION verwenden

  Alt 10. Jun 2009, 15:51
Hallo,

vorweg: Ich weiß, dass es zu diesem Thema bereits unzählige Beiträge in diesem Forum gibt. Ich habe mich bereits stundenlang da durch gequält. Leider ohne greifbares Ergebnis.

Mein Problem ist folgendes:
Ich möchte meine Anwendung "geregelt" (alles Speichern usw.) beenden, wenn der Anwender Windows herunterfährt. Dafür habe ich z.B. folgendes in das Hauptformular meiner Anwendung eingebaut:

Delphi-Quellcode:
procedure WMQueryEndSession(var Msg:TWMQueryEndSession); message WM_QUERYENDSESSION;

procedure TFMain.WMQueryEndSession(var Msg:TWMQueryEndSession);
begin
  showmessage('***Ende***');
  Msg.Result := 1;
end;
Es scheint so zu sein, dass meine Anwendung die Nachricht nicht erhält, weder beim einfachen "Abmelden" noch beim "Herunterfahren". Jedenfalls wird ShowMessage nicht ausgeführt und Windows fährt nicht herunter.

Wer weiß, wie es richtig gemacht werden muss?

Gruß
Johann
  Mit Zitat antworten Zitat