AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Anwendung beenden bei Windows Shutdown (WM_QueryEndSession)
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendung beenden bei Windows Shutdown (WM_QueryEndSession)

Ein Thema von AJ_Oldendorf · begonnen am 3. Apr 2014 · letzter Beitrag vom 4. Apr 2014
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Anwendung beenden bei Windows Shutdown (WM_QueryEndSession)

  Alt 4. Apr 2014, 08:05
ShutdownBlockReasonCreate(HWND hWnd, LPCWSTR pwszReason);

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Das trifft hier ja nicht zu, denn das Speichern soll ja beim Beenden passieren.
Allerdings steht in dem Link die Vorgehensweise beim Shutdown erklärt.

Wenn die Anwendung prinzipiell mit dem Beenden der Session einverstanden ist, dann braucht diese auf MSDN-Library durchsuchenWM_QUERYENDSESSION gar nicht reagieren, sondern nur auf MSDN-Library durchsuchenWM_ENDSESSION und auch nur dann, wenn da wParam TRUE ist.

Dort hat die Anwendung dann idR unbegrenzt Zeit (siehe Link von hathor) alle Aktionen zu Beenden.
Allerdings wird ein Dialog eingeblendet und der Anwender kann immer das Herunterfahren erzwingen und dann wird die Anwendung auch hart über den Jordan geschickt. Dagegen kann man nichts machen, sondern nur im Protokoll vermerken.

Interessant ist auch der lParam Wert (Delphi-Referenz durchsuchenTWMEndSession.Unused ), denn darüber bekommt man raus unter welchen Bedingungen das passiert. ENDSESSION_CRITICAL ist dabei sehr interessant, denn dann hat man nur sehr wenig Zeit (siehe Link von hathor).

Wenn es extrem kritisch ist, dann sollte man diese sensiblen Daten periodisch immer speichern (Thread) - evtl. auch nicht an den original Stellen - um diesen Status beim nächsten Start wiederherstellen zu können.

Das ist ja auch gängige/vorgeschriebene Praxis bei den Anwendungen für Mobile Devices.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 4. Apr 2014 um 08:20 Uhr)
  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 18:19 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