Autor Beitrag
Crowbar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 180

WinXP, SP2
D6 Enterprise
BeitragVerfasst: Fr 24.01.03 11:51 
Hallo,
ich möchte ein Programm schreiben, dass den Befehl "Windows beenden" abfängt.
D.h., bevor ich den Computer herunterfahre, soll ein Programm nachschauen, ob eine bestimmte Programmanwendung beendet wurde. Wenn nicht, soll diese bestimmte Programmanwendung vor dem Herunterfahren des Computers automatisch beendet werden.

Demzufolge muss also mein Programm im Hintergrund laufen und die entsprechende Message ("Computer soll herunterfahren") abfangen. Hat jemand eine Idee und vielleicht auch schon ein Beispiel?

Gruss Crowbar
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Fr 24.01.03 12:01 
Hallo,
ich bin mir nicht ganz sicher, aber ich denke das Stichwort nach dem du suchen musst ist "Hooks".

Dazu steht auch was bei den Tutorials!

Versuchs einfach mal.

Gruß Andi

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 24.01.03 16:17 
Ich will es jetzt nicht selbst testen, aber wenn du im Ereignis OnCloseQuery CanClose auf False stells, dann wird der Beendenvorgang unterbrochen.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 24.01.03 16:20 
Windows sendet an alle Programme beim Runterfahren ein WM_QUERYENDSESSION und fragt damit ob es runterfahren darf oder nicht. Sagst du ihm hier an der Stelle "Nein", dann fährt Windows auch nicht weiter runter.

Also die Message abfangen, kucken mit einem CreateToolHelp32Snapsoht, ob das Programm noch läuft, es mit TerminateProcess beenden, und dann Windows das OK geben zum runterfahren.
Crowbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 180

WinXP, SP2
D6 Enterprise
BeitragVerfasst: Fr 24.01.03 16:26 
Hallo Luckie,
danke für Deinen Tip. Ich werde es einmal in dieser Richtung versuchen.
Vielleicht hat ja irgendwer ein weiteren Tip für einen speziellen Code?!

Tschüss Crowbar
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 24.01.03 16:38 
Zum Finden eines Prozess und zum Beenden findest du Code auf meiner Seite und zwar ist es der Prozess-Betrachter. Ist mit Code.
Crowbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 180

WinXP, SP2
D6 Enterprise
BeitragVerfasst: Fr 24.01.03 16:47 
Danke schön, wird mir weiterhelfen!
Tschüss Crowbar
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 24.01.03 17:52 
Warum leicht, wenn es auch schwer geht. Machs ruhig mit WM_QUERYENDSESSION.