![]() |
Ereignis beim Shutdown
Hallo zusammen,
mein Dateiverschlüsselungsprogramm läuft permanent im Hintergrund und soll automatisch kurz vor dem Herunterfahren des PCs einen Meldungsdialog auf dem Bildschirm ausgeben, welcher dann vom Benutzer weitere Anweisung erwartet. Man kann hier z.B. bestimmte Ordner auswählen deren Dateien dann verschlüsselt werden. Mein PC (Windows XP Prof.) MUSS solange warten, bis mein Programm seine Aufgaben erfüllt hat! Also: - Wie erfahre ich, dass der Computer gerade heruntergefahren wird :gruebel: - Wie halte ich dieses Ereignis auf, bis mein Programm seine Aufgaben beendet hat :gruebel: Greetz DANNYBOY |
Re: Ereignis beim Shutdown
Wird die Session beended schickt Windows erst ein
![]() ![]() |
Re: Ereignis beim Shutdown
Ich weiß nicht genau wann das ausgelöst wird, aber Windows "schießt" nach einer Weile alle Programme ab, die nicht beendet wurden. Zum Beispiel: Das Programm meiner kabellosen Maus zeigt beim Herunterfahren eine Warnung an, falls die Batterien schwach sind. Klicke ich den Dialog nicht weg so versucht Windows (XP Pro), den Prozess zu beenden. Wie viel man noch vor dem Herunterfahren machen kann weiß ich nicht, denn wenn ich den PC herunterfahre dann sollte das jetzt geschehen, und nicht in 10 Minuten, insofern hat Microsoft mit der Strategie schon Recht.
|
Re: Ereignis beim Shutdown
Die Zeit, bis die Prozesse "gezwungen" werden zu schließen, kann man in der Registry festlegen. Normal liegt sie bei 20 Sekunden. Aber ich glaube nicht dass dir die Zeit ausreichen wird :roll:
Falls du mehr darüber wissen willst, hier n Link zum Thema: ![]() |
Re: Ereignis beim Shutdown
O.k., danke alcaeus, danke Luckie.
Die Nachricht WM_QUERYENDSESSION werde ich dann auf jeden Fall abfangen, so weiss ich wann das Betriebssystem herunterfährt. Bleibt nur noch das Anhalten: :mrgreen: Manchmal wartet Windows doch mit dem Herunterfahren, weil ein bestimmer Prozess nicht beendet werden kann. Es erscheint ein Dialog, auf dem man als User dann "ignorieren", "Prozess beenden" oder "warten" auswählen kann. Bevor der User allerdings keines dieser Buttons klickt, fährt das System, meiner Erfahrungen nach, nicht hinunter. Und exakt diese Funkionalität benötige ich für mein Programm. Beim Versuch den PC herunter zufahren soll mein Proggy bestimmte Ordner verschlüsseln und sobald dieser Prozess beendet ist, darf das System herunterfahren. Also, geht da was? :gruebel: |
Re: Ereignis beim Shutdown
Den Dialog gibts bei meinem WindowsXP nicht mehr, falls sich ein Programm nicht beendet so bringt Windows einen Dialog mit ProgressBar, und nach 10 Sekunden ist die ProgressBar ganz oben und das Programm fliegt raus. Der einzige Button drauf ist "Programm sofort beenden", das heißt da geht nichts mehr...
|
Re: Ereignis beim Shutdown
Verdammt, ich brauche diese Funktionalität unbedgint!!! Das muss gehen! :twisted:
Und wenn mir jemand erklärt, wie mein Programm das XP derart abstürzen lässt, dass XP nicht runterfahren kann, ist mir das auch Recht. :mrgreen: |
Re: Ereignis beim Shutdown
Ähm du brauchst doch nur auf die WM_QUERYENDSESSION den Wert 0 zurückliefern, dann wird das ganze abgebrochen - steht zumindest so in den MSDN...
|
Re: Ereignis beim Shutdown
Heißt das, dass ich das Herunterfahren des Systems abbrechen kann? :shock:
|
Re: Ereignis beim Shutdown
Da nach musst du aber selber die Session beenden, sonst müsste der Benutzer ja noch mal auf "Beenden" klicken. Und dazu musst du dir merken, ob er sich nur abmeldet, einen Neustart macht oder ganz runterfährt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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