Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Shutdown] - Verhindern, dass Windows es "abschießt" (https://www.delphipraxis.net/94281-%5Bshutdown%5D-verhindern-dass-windows-es-abschiesst.html)

xZise 19. Jun 2007 10:12


[Shutdown] - Verhindern, dass Windows es "abschießt&quo
 
Ich fange die Message WM_QUERYENDSESSION ab und führe da etwas längeres aus.

Aber dann meldet sich Windows, dass das Prog nicht reagiert. Wie kann ich es verhindern?

Dezipaitor 19. Jun 2007 10:15

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
Du musst die Windowsnachrichtenschleife weiterlaufen lassen. Also auf Nachrichten reagieren.
Probiere Application.ProcessMessages.

Unter Vista kann es aber leicht sein, dass dein Programm trotzdem abgeschossen wird.

xaromz 19. Jun 2007 10:17

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
Hallo,

ab Vista kannst Du das überhaupt nicht mehr verhindern. Nicht nur, dass die Möglichkeit gestrichen wurde, den Neustart zu verhindern, es wurde IMHO auch die Wartezeit, bis ein Programm abgeschossen wird, verkürzt.

Gruß
xaromz

CCRDude 19. Jun 2007 10:27

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
Kann letzeres nur unterstreichen, "Certified for Vista" fordert zwingend vom Programm, daß es sofort auf WM_QUERYENDSESSION mit LPARAM = ENDSESSION_CLOSEAPP reagiert; WM_ENDSESSION darf nicht länger als 5 Sekunden dauern.

xZise 19. Jun 2007 11:34

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
Also primär soll es nur unter Windows 2000 laufen.

Aber vielleicht gibt es eine andere Möglichkeit:
Und zwar soll es, wenn der Benutzter sich abmeldet, alle Daten des Benutzers (C:\Programme und Einstellungen\...) löschen. (Daten werden vorher auf dem Server gesichert)
Das Problem ist nur: Wie kann man das hinkriegen ohne das Windows rummeckert?

PS: Am besten ist es natürlich, dass es auch funktioniert wenn Windows geupdatet wird.

SirThornberry 19. Jun 2007 12:37

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
es würde funktioneren wenn du einfach den herunterfahrenprozess abbrichst und wenn deine aktion fertig ist kannst du das herunterfahren erneut starten.

CCRDude 19. Jun 2007 12:41

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
Wobei xaromz ja schon sagte, daß das unter Vista nicht mehr möglich ist?

SirThornberry 19. Jun 2007 12:44

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
hmm, dessen bin ich mir nicht ganz sicher. Ist es nur nicht mehr über diese Message möglich oder ist es auch nicht mehr über shutdown -a möglich?

CCRDude 19. Jun 2007 12:47

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
Ich hatte verstanden, daß das Herunterfahren-Abbrechen nicht mehr möglich ist, nicht das Herunterfahren selber, das geht imho noch.

delphin06 19. Jun 2007 13:21

Re: [Shutdown] - Verhindern, dass Windows es "abschießt
 
wenn man das herunterfahren abbricht zeigt Vista ne Meldung, welches Programm das herzunterfahren behindert. Man hat dann die auswahl zwischen herunterfahren abbrechen und einfach herunterfahren, wobei bei letzterem das programm dann einfach terminiert wird.
Ich hatte das slebe problem mit n programm von mir! Hab das herunterfahren dann abgebrochen in der WMQueryEndSession. Unter Vista kann man dann mit der ShutdownBlockReasonCreate Funktion zusätzlich noch angeben warum das Programm das herunterfahren abbricht. damit der User weiß warum es den shutdown unterbricht. Find ich ganz nützlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz