Autor Beitrag
Ich Bins
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 197

Win XP Prof
D5 Prof
BeitragVerfasst: Di 17.02.04 23:40 
Hi!
Wie kann ich bei Windows XP das Ereignis abfangen, wenn ich auf Start beenden und dann auf herunterfahren bzw. neustarten klicke?
Ich hatte mir vorgestellt das beim Klicken auf Herunterfahren / Neustarten eine Abfrage (MessageDlg oder so) kommt bei der ich dann bestätigen kann ob Windows heruntergefahren werden soll oder nicht!

Vielen Dank schon mal im Vorraus für alle Tips!

Moderiert von user profile iconTino: Topic verschoben.

_________________
Diese Nachricht wurde mit einer Taschenlampe in das offenliegende Ende eines Glasfaserkabels gemorst!
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Mi 18.02.04 01:06 
In der Regel reicht schon bei deinem Programm in Suche in: Delphi-Forum, Delphi-Library ONCLOSEQUERY CanClose auf False zu setzen um Windows beim runterfahren zu hindern. Diese Möglichkeit ist dazu gedacht, daß, falls ein Programm seine Daten nicht abgespeichert hat, nicht einfach ungefragt das Programm beendet werden kann. Also beendet Windows vor dem Runterfahren zuerst alle Programme. Falls sich ein Programm weigert, dann wird Windows nicht beendet.

Ob das aber auch für XP gilt weiß ich nicht.

_________________
Popov
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 18.02.04 01:20 
Etwas unelegant und mit dem Parameter EWX_FORCE hilft dir das auch nichts mehr.

Sicherer ist: Windows fragt vorher selber nach, ob die Session beendet werden darf. Es schickt dazu an alle Toplevel-Fenster ein Suche in: Delphi-Forum, Delphi-Library WM_QUERYENDSESSION, sollte auch nur ein Fenster hier kein grünes Licht geben, wird die Session nicht beendet. Geben alle Fenster hier ihr "Go", kommt von Windows noch mal ein Suche in: Delphi-Forum, Delphi-Library WM_ENDSESSION, hier kann eine Anwendung noch was machen, aber das Beenden nicht mehr unterbrechen.
Ich Bins Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 197

Win XP Prof
D5 Prof
BeitragVerfasst: Mi 18.02.04 21:45 
Danke, hat so weit schon mal ganz gut geklappt!
Die einzige Frage die sich mir noch stellt ist folgende:
Wie kann ich Windows jetzt dazu bringen, dass er zuerst mein Programm fragt und nicht vorher schon alle anderen Programme beendet, sonst bringt mir das nicht allzuviel, wenn alles zu ist, außer Windows!

_________________
Diese Nachricht wurde mit einer Taschenlampe in das offenliegende Ende eines Glasfaserkabels gemorst!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 19.02.04 02:23 
Gar nicht. Die Reihenfolge ist wohl willkürlich. Geht mir mit ICQ auch so. Wenn ich noch einen Message-Request habe und ich fahre Windows runter, dann meldet sich ICQ noch mal deswegen und dann kann es passieren, dass der Virenscanner schon beendet ist und das Icon aus der TNA verschwindet, wenn ich auf ICQ reagiere.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Di 01.06.04 16:01 
Probiers mal mit "shutdown -a" (über ShellExecute ausführen)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 01.06.04 16:39 
Ich glaube nicht, dass er nach gut 4 Monaten nach eine Chance hat, seinen Rechner vom Februar-Herunterfahren abzuhalten. ;)