Frage von Oliver Ehlebracht:This is a multi-part message in MIME format.
--------------020203030304070702030204
Content-Type: text/plain; charset%ISO-8859-1; format%flowed
Content-Transfer-Encoding: 8bit
Oliver Ehlebracht wrote:
> Bisher habe ich noch keine Möglichkeit gefunden, den PC am Ende
> einer Aufnahme mit dieser Software automatisch herunterzufahren.
Hallo!
Die eigentliche Aufnahme zu programmieren ist ja kein Problem mehr (;z.B.
mit TVgenial oder anderen Lösungen). Starten des Rechners via BIOS ist
auch ok, bedeutet aber einen weiteren Timer zu programmmieren. Nun hat
es mich aber genervt, dass ich auch noch einen dritten Timer
programmieren muss, der den PC wieder runterfährt (;natürlich über ein
drittes Programm).
Ein Kollege gab mir den entscheidenen Tipp: mit der Freeware "AutoIt"
kann man unter Windows kleine Skripte basteln, die einem das Leben
leicht machen. Siehe
Diese Skripte kann man auch in eine .exe kompilieren und dann z.B. über
den Autostart-Ordner ausführen. Zukünftig überwacht ein Miniskript bei
mir, ob die Rekorder-Software beendet wurde und fragt dann, ob der
Rechner heruntergefahren werden soll. Klickt man dann nicht innerhalb
von 30 Sekunden auf "Abbrechen", fährt der PC runter... Geht prima!
Gruß - Oliver
P.S. Skript anbei, falls jemand Interesse hat oder
Verbesserungsvorschläge machen will...
--------------020203030304070702030204
Content-Type: text/plain;
name="pctv-shutdown.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="pctv-shutdown.txt"
; pctv-shutdown.exe
;
; Dieses Skript faehrt den PC herunter nachdem die
; PCTV Vision Software beendet wurde
$end = 0
While $end = 0
; warten bis Vision.exe gestartet wurde
ProcessWait (;"Vision.exe")
; warten bis Vision.exe beendet wurde
ProcessWaitClose (;"Vision.exe")
; fragen, ob der PC heruntergefahren werden soll
$var = MsgBox (;1, "PC herunterfahren", "Achtung! PCTV Vision wird Ihren PC in 30 Sekunden herunterfahren." , 30)
Select
Case $var < 1 ; PC wird heruntergefahren, wenn nach 30 Sek. nicht abgebrochen wurde
$end = 1
Case $var = 1
Sleep (;5000) ; OK gedrueckt, PC wird heruntergefahren
$end = 1
EndSelect
Wend
Shutdown (;13) ; Shutdown(;1) Force(;4) Power down(;8)
--------------020203030304070702030204--
Antwort von Stefan Schauter:
Oliver Ehlebracht wrote:
> Die eigentliche Aufnahme zu programmieren ist ja kein Problem mehr (;z.B.
> mit TVgenial oder anderen Lösungen). Starten des Rechners via BIOS ist
> auch ok, bedeutet aber einen weiteren Timer zu programmmieren. Nun hat
> es mich aber genervt, dass ich auch noch einen dritten Timer
> programmieren muss, der den PC wieder runterfährt (;natürlich über ein
drittes Programm).
Hallo,
es geht mittlerweile auch, alles in einen einzigen Timer zu packen, Starten
und Beenden ! Siehe
http://www.winload.de/download/42973/Utilities/Systemprogramme/Ponff-1.03.ht
ml
Vielleicht hilft es ein wenig das Timer-Chaos zu beseitigen :-)
MfG
Stefan Schauter
Antwort von Horst Saak-Winkelmann:
Am Mon, 25 Jul 2005 15:41:48 0200 schrieb Oliver Ehlebracht
:
...
>leicht machen. Siehe
...
...
>P.S. Skript anbei, falls jemand Interesse hat oder
>Verbesserungsvorschläge machen will...
...
Ich habe mal ein wenig rumgefummelt und jetzt gibts auch ne Version
(;für AutoIt Version v3) mit Parameterübergabe (;der Fenstername des zu
überwachenden Programms).
--schnipp--
; PC wird heruntergefahren nachdem Fenster aus $CmdLine[1] geschlossen
wurde
$end = 0
While $end = 0
WinWaitActive (;$CmdLine[1]) ; warten bis $CmdLine[1] gestartet
wurde
WinWaitClose (;$CmdLine[1]) ; warten bis $CmdLine[1] beendet wurde
$var = MsgBox (;4145, "Achtung! PC wird herunterfahren", "In 30
Sekunden automatisch, nach 'OK' in 5 Sekunden" , 30)
Select
Case $var < 1 ; Nichts wurde gedrueckt, PC wird nach 30 Sek.
heruntergefahren
$end = 1
Case $var = 1
Sleep (;5000) ; 'OK' wurde gedrueckt, PC wird nach 5 Sek.
heruntergefahren
$end = 1
Case Else
; 'Abbrechen' wurde gedrueckt
; Script wird ohne Aktion beendet da Variable
end2
$end = 2
EndSelect
Wend
if $end = 1 then
;Shutdown (;13) ; Shutdown(;1) Force(;4) Power down(;8)
Shutdown (;5) ; Shutdown(;1) Force(;4)
endif
exit
--schnapp--
Vielleicht findet sich noch jemand der nun noch einen weiteren
Parameter für die Sekundeneingabe einbaut und den Wert aus $CmdLine[2]
dann auch in die MsgBox-Textzeile "In $CmdLine[2] Sekunden
automatisch, nach 'OK' in 5 Sekunden" stehen hat.
Oder sogar ein Meldefenster mit dem Rückwärtszählen der Sekunden bis
zum Runterfahren?
Gruß
Horst