Entwickler-Ecke
Windows API - Unterscheiden zwischen Windows-Shutdown und Windows-Reboot?
AScomp - Fr 08.04.05 04:55
Titel: Unterscheiden zwischen Windows-Shutdown und Windows-Reboot?
Hi,
gibt es eine Möglichkeit, zwischen einem Windows-Shutdown und einem Windows-Reboot zu unterscheiden?
Im WM_QUERYENDSESSION gibt es offensichtlich keine Möglichkeit (auch laut MSDN nicht).
Zur Erklärung: vor dem Herunterfahren soll mein Programm eine bestimmte Aktion durchführen, die durchaus 5-10 Minuten beanspruchen kann. Gibt die Anwendung so lange keine Rückmeldung an Windows im WM_QUERYENDSESSION, so wird das Programm automatisch geschlossen bzw. es kommt "Anwendung reagiert nicht". Außerdem wird WM_QUERYENDSESSION eben auch beim Reboot ausgelöst.
Ein Hook auf ExitWindows und ExitWindowsEx wäre wohl die Notlösung, gefällt mir allerdings überhaupt nicht - gibt's andere/bessere Lösungen?
BenBE - Fr 08.04.05 11:57
Zumindest keine, die man so ohne weiteres realisieren könnte.
AFAIK wird alles an Infos, was die WinAPI verarbeitet im Kontext des Programms oder anderer Datenspeicher abgelegt. Diese kann man über ASM abfragen; Allerdings ist dies Win-Versionsabhängig, bei ExitWindowsEx nicht.
Ansonsten: API debuggen und gucken, wo er den Wert des Parameters
Reboot oder hutdown gespeicher wird.
AScomp - Fr 08.04.05 16:32
Hallo,
du hattest in einem ähnlichen Thread mal davon geschrieben, dass man den Zeitwert ändern kann, den Windows bei QueryEndSession abwartet, bis das Programm reagiert. Habe im Internet leider nichts dazu finden können - kannst du mir den Registry-Key nennen, wo das gespeichert wird?
BenBE - Fr 08.04.05 16:51
Zu finden sind die Werte der "Hanging Process Detection unter
Key: HKCU\Control Panel\Desktop\
User-Initiated: HungAppTimeout
Sys-Initiated: WaitToKillAppTimeout
Achtung: Werte sind in Millisekunden. Die Werte müssen AFAIC REG_SZs sein.
HTH.
Quelle: Xteq X-Setup 6.0
AScomp - Fr 08.04.05 16:58
Auch auf diesem Wege nochmals herzlichen Dank! Sollte erstmal helfen! :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!