Thema: Delphi Cool tray Icon

Einzelnen Beitrag anzeigen

OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#15

Re: Cool tray Icon

  Alt 7. Mär 2010, 13:33
Muss du aufpassen, falls deine Anwendung im System Tray ist lässt sich das Windows nicht runterfahren.

Hier die Abhilfe:

Delphi-Quellcode:
*****Deutsch*****

Windows sendet die WM_QUERYENDSESSION Nachricht an alle laufenden Anwendungen
und wartet auf deren Antwort.
Wenn irgendeine Anwendungen 0 zurückgibt endet die Session nicht ansonsten
sendet Windows eine WM_ENDSESSION Nachricht an alle Anwendungen.
Jede Anwendung, die darauf mit TRUE antwortet,
kann jederzeit von Windows beendet werden.



Windows NT/2000/XP: When an application returns TRUE for this message,
it receives the WM_ENDSESSION message and it is terminated,
regardless of how the other applications respond to the WM_QUERYENDSESSION message.

Windows 95/98/Me: After all applications return TRUE for this message,
they receive the WM_ENDSESSION and they are terminated.


private
  procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;
end;

Implementation

procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
  if MessageDlg('Close Windows now/ Windows beenden?',
                            mtConfirmation,
                            [mbYes,mbNo], 0) = mrNo then
      Msg.Result := 0
   else
      Msg.Result := 1;
end;
  Mit Zitat antworten Zitat