AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows wurde doch nicht heruntergefahren und ich merke davon nichts
Thema durchsuchen
Ansicht
Themen-Optionen

Windows wurde doch nicht heruntergefahren und ich merke davon nichts

Ein Thema von Der schöne Günther · begonnen am 4. Dez 2015 · letzter Beitrag vom 4. Dez 2015
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Windows wurde doch nicht heruntergefahren und ich merke davon nichts

  Alt 4. Dez 2015, 12:31
Wenn Windows heruntergefahren/abgemeldet wird und ich es richtig verstanden habe ist die Reihenfolge so:
  1. WM_QUERYENDSESSION wird an die Anwendung gesendet
  2. Das löst das OnCloseQuery-Event des VCL-Formulars aus
  3. WM_ENDSESSION wird an die Anwendung gesendet um den unausweichlichen Shutdown zu verkünden

In der Doku zu WM_ENDSESSION steht dass dort (im WPARAM) angegeben wird ob denn nun abgemeldet wird oder sich der Benutzer umentschieden hat:
Zitat:
If the session is being ended, this parameter is TRUE; the session can end any time after all applications have returned from processing this message. Otherwise, it is FALSE.

Meine Testanwendung enthält folgenden Message-Handler:
Delphi-Quellcode:
procedure TForm1.WMEndSession(var Message: TWMEndSession);
begin
   ShuttingDown := Message.EndSession;
   //(Logge "ShuttingDown" in eine Textdatei)
   inherited;
end;
Ich starte meine Testanwendung, mache Notepad auf und tippe darin ein paar Buchstaben. Somit wird Windows am Herunterfahren gehindert da mich Notepad noch fragen wird ob ich denn nicht lieber speichern möchte.

Ich gehe auf Herunterfahren, bekomme den "Folgende Anwendungen verhindern das Herunterfahren"-Dialog und sage "Abbrechen".

Meine Anwendung hat den Erhalt der WM_ENDSESSION-Nachricht ordnungsgemäß protokolliert und meint, ShuttingDown sei True gewesen. Wie kann das sein? Es hätte doch False sein müssen. Wenn wirklich heruntergefahren wird, wird auch True protokolliert.


Irgendwas kann da nicht stimmen
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz