Zitat von
TStringlist:
Das wäre eigentlich nur dann möglich, wenn deine Application noch mehr Formen hätte und eine davon die QueryEndSession-Message davor schon bekommen und diese mit False beantwortet hätte.
Guter Tipp!
Als ich das gelesen habe ist mir siedend heiß eingefallen, dass das Hauptfenster von Delphi-Anwendungen ja ein unsichtbares ist (darum können Application.Title und MainForm.Caption unterschiedlich sein!).
Du kriegst gar kein WM_QUERYENDSESSION / WM_ENDSESSION, weil dein Hauptfenster nicht das Hauptfenster der Anwendung ist!
[... ich schau gerade mal in der
OH ...]
Hmmm... in TApplication.WndProc in Forms.pas sieht das so aus:
Delphi-Quellcode:
WM_ENDSESSION:
if TWMEndSession(Message).EndSession then
begin
CallTerminateProcs;
Halt;
end;
WM_QUERYENDSESSION:
Message.Result := 1;
Sollte normalerweise also alles funktionieren...