| Autor |
Beitrag |
thommy f
      
Beiträge: 114
Windows 2K pro
Delphi 5 Enterprise
|
Verfasst: Mi 12.08.09 14:10
So, mein Problem von gestern hatten wir recht fix gelöst. An dieser Stelle nochmals DANK für die Hilfe.
Nun wäre es natürlich traumhaft, wenn man das Programm automatisch vor dem Herunterfahren ausführen könnte.
In diversen Foren habe ich gefunden, dass man Programme mit einem kleinen Skript vor dem Herunterfahren ausführen kann. Um sicherzustellen, dass das Programm vollständig ausgeführt und nicht von der Shutdown-Routine unterbrochen oder beendet wird, würde ich gerne den in W2k und WinXP vorhandenen Befehl
Quelltext
ausführen, um die Shutdown-Routine zu unterbrechen.
Das Programm würde diese Routine dann nachdem es fertig ist neu ausführen.
Wie kriege ich diesen Befehl beim Programmstart ausgeführt?
Dürfte eigentlich nicht zu schwer sein, oder?
THX!
_________________ Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 12.08.09 14:30
Siehe InitiateSystemShutdown und AbortSystemShutdown. Vollständigen Source bzgl. Anfragen der rEchte gibt's hier im Forum.
Unter Vista die Möglichkeit der Shutdown Block reason nutzen.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Zuletzt bearbeitet von BenBE am Do 13.08.09 12:47, insgesamt 1-mal bearbeitet
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Mi 12.08.09 15:24
Shutdown -a unterbricht die Routine doch überhaupt nicht. Damit kann nur verhindert werden das sie gestartet wird. Und das auch nur wenn Zeit bleibt sie zu verhindern.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mi 12.08.09 15:31
shutdown -a funktioniert (soweit ich weiß) nur, wenn dieser Countdown läuft.
Wenn das System schon runter fährt, und z.B. schon die Programme beendet, funktioniert das glaube ich nicht.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Mi 12.08.09 15:53
Xentar hör auf zu glauben ^^ ich habe darauf doch schon im vorherigen Post hingewiesen.
So um das noch zu hinterlegen.
EDIT:
| Windows Hilfe hat folgendes geschrieben: |
-a
Bricht das Herunterfahren ab. Ignoriert andere Parameter außer -l und Computername. Sie können -a nur während des Zeitlimits verwenden. |
Also wie ich schon zuvor gepostet habe hat nichts mit der eigentlichen Shutdown routine zu tun.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 12.08.09 22:48
Zu dem braucht man Administratorenrechte um shitdown.exe auszuführen.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mi 12.08.09 23:15
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 13.08.09 00:11
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 13.08.09 01:04
Naja ob SHIT absicht war, oder eine freudsche Fehlleistung...
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 13.08.09 01:58
Oh, habe ich gar nicht gesehen. War aber ein Vertipper - ich schwörs.
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 13.08.09 09:17
InitiateSystemShutdown und CancelSystemShutdown(bei mir Abortsystemshutdown).
So auch (Abortsystemshutdown) Beenden wie (shutdown -a) nur den Countdown der z.B. mit InitiateSystemShutdown eingeleitet wurde.
Also auch dieser kann keine shutdown Routine unterbrechen.
Generell kann ich mir nicht vorstellen das es möglich ist ein Herunterfahrendes System noch zu stoppen.
Und mal so am Rande wie würde man "shitdown".exe eigentlich ins Deutsche übersetzen?
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Do 13.08.09 11:50
Luckie hat folgendes geschrieben : | | Zu dem braucht man Administratorenrechte um shitdown.exe auszuführen. |
Danke, dass mal jemand hier darauf hinweist. Ich möchte mich hier mal selbst zitieren  (von hier, da gings zwar einfach nur ums Herunterfahren, aber das Credo bleibt das gleiche):
Timosch hat folgendes geschrieben: | Man ruft keine externen Programme auf, um Dinge durchzuführen, für die es API-Befehle gibt.
Wenn ich den Benutzer nach etwas frage, starte ich ja auch nicht den Notepad, lasse ihn den Text eingeben und abspeichern und lese die Datei aus, sondern verwende TEdit, InputBox oder ReadLn.
Sonst ergeben sich folgende Probleme:
1. fördert das die Abhängigkeit von externen Dateien, die u.U. gar nicht existieren. Wenn ich in meine Eingabeaufforderung eingebe "shutdown -s -f" kommt "Der Befehl "shutdown" ist entweder falsch geschrieben oder konnte nicht gefunden werden." Warum wohl? Weil ich Windows 2000 verwende...
2. kostet es Zeit und Ressourcen, weil der Rechner einen neuen Prozess starten muss. Fällt zwar nicht sehr ins Gewicht, ist aber vollkommen grundlos.
3., wie Luckie schon sagte, zwingt es den Benutzer, als Admin zu arbeiten.
Das geht jetzt an alle, die mit diesem Vorschlag (und ähnlichen) in solchen Threads immer wieder ankommen: Lasst das! Bitte! So gewöhnt man Anfängern gleich verheerende Fehler an...
|
Man sieht an Punkt 3, das diese Threads immer gleich verlaufen. 
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 13.08.09 12:47
Ein Glück, dass ich das bzgl. der API gleich in der ERSTEN ANTWORT geschrieben hatte ...
BenBE hat folgendes geschrieben : | Siehe InitiateSystemShutdown und AbortSystemShutdown. Vollständigen Source bzgl. Anfragen der rEchte gibt's hier im Forum.
Unter Vista die Möglichkeit der Shutdown Block reason nutzen. |
Danke für's Ignorieren dieses Posts.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
thommy f 
      
Beiträge: 114
Windows 2K pro
Delphi 5 Enterprise
|
Verfasst: Do 13.08.09 12:51
Meine Güte,
da ist Microsoft dann aber mal wieder tüchtig eingebildet, oder? Wenn man eine EXE-Datei beim Systemstart ausführen will, braucht man diese nur in ein Verzeichnis namens "Autostart" zu kopieren. Wenn es jedoch wesentlich Sinniger wäre, die gleiche EXE-Datei VOR dem Herunterfahren zu starten, zickt Windows wieder derart rum.
Ich glaub ich steig um auf LINUX!
aber DANKE TROTZDEM!
_________________ Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 13.08.09 13:04
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 13.08.09 13:07
BenBE aber zu deinem Beitrag hatte ich schon den nachteil geschildert.
thommy f dein Vorhaben ist möglich. Nur befürchte ich das es zu viel aufwand wäre.
Dein Konzept fehler ist einen bereits angefangenen shutdown zu stoppen. Du musst dich zwischen den Befehl zum shutdown und den shutdown setzen. Dann wäre es theoretisch möglich.
Davon abgesehen befürchte ich das es dein Horizont überschreitet wenn du schon so ahnungslos mit befehlen wie shutdown -a um dich wirfst ohne zu wissen was diese wirklich tun.
mfg nic
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Do 13.08.09 13:43
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
thommy f 
      
Beiträge: 114
Windows 2K pro
Delphi 5 Enterprise
|
Verfasst: Do 13.08.09 15:08
Hey, sorry, ich wollte hier weder jemanden bzw. einen Post ignorieren, noch wollte ich hier diverse Diskusionen auslösen. Bezüglich SystemShutdown und AbortSystemShutdown konnte ich weder im Forum noch bei Google was verwertbares finden. Anscheinend bin ich echt zu doof die Suchfunktion korrekt zu nutzen. Aber Danke nochmal. Werde mich nochmals intensiv mit diesen Routinen beschäftigen.
Ich hatte auch nicht vor die MICROSOFT-Verfechter in irgendeiner Weise anzugreifen. Mir fällt eben nur immer wieder auf, dass man unter WINDOWS häufig relativ aufwändige "Umwege" gehen muss um das gleiche Ergebnis zu erzielen, das man unter Linux mit einer kurzen Befehlszeile hin bekommt.
Nochmals Sorry, falls ich irgendwem auf die Nerven gefallen bin und VIELEN DANK für die Hilfe.
Dazu kurz noch erwähnt, dieses Forum ist eines der hilfreichsten, das ich bisher kenne. Ich habe zwar etwas Erfahrung mit Programmierung allgemein und auch mit Delphi, aber kein ausgesprochener Crack bin ich (noch) nicht. Und bisher konnten hier alle Probleme gelöst werden.
_________________ Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Do 13.08.09 15:19
thommy msdn Hilfe aus Delphi oder msdn.com und die Routinen eingeben da steht alles was man wissen muss.
Und trotzdem sag ich dir nochmal das ist nicht was du suchst. ^^
|
|
|