Hallo
Hat das schon mal jemand mit AutoIT gemacht?
Ich möchte gerne, dass AutoIT ein Frontend für shutdown darstellt, wo man die Ausschaltzeit als XX:YY eingeben kann.
Oder wie erstellt man sowas mit AutoIT?
Gruss
marius
Hallo
Hat das schon mal jemand mit AutoIT gemacht?
Ich möchte gerne, dass AutoIT ein Frontend für shutdown darstellt, wo man die Ausschaltzeit als XX:YY eingeben kann.
Oder wie erstellt man sowas mit AutoIT?
Gruss
marius
Es heißt AutoIt, nicht "AutoIT".
Eine einfache GUI mit einer Inputbox und einem Button sollten dafür ausreichen.
Da du in 'Ohne Gegenleistung' gepostet hast poste ich dir direkt das Script, es ist eigentlich ziemlich einfach zu verstehen.
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Shutdown", 195, 90, 192, 124)
$Label1 = GUICtrlCreateLabel("Zeit in MM:SS:", 16, 18, 74, 17)
$Input1 = GUICtrlCreateInput("01:00", 96, 16, 81, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Button1 = GUICtrlCreateButton("Shutdown", 16, 48, 163, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetState($Button1, $GUI_DISABLE)
$aTime = StringSplit(GUICtrlRead($Input1), ":", 3)
$iMin = Number($aTime[0]) * 60
$iSec = Number($aTime[1])
ShellExecute("shutdown.exe", "/s /t " & ($iMin + $iSec))
EndSwitch
WEnd
Alles anzeigen
Vielen Dank, Dein Script funktioniert.
Allerdings habe ich mich nicht ganz richtig ausgedrückt.
Ich meinte mit der Eingabe XX:YY die Uhrzeit, also z.B. 16:50 Uhr...
Kann AutoIt auch mit Zeiten rechnen?
Da hast du mehrere Möglichkeiten wie du rangehen willst.
Entweder du errechnest die Zeitdifferenz zwischen dem aktuellen Zeitpunkt und dem zu herunterfahrenden Zeitpunkt und führt shutdown mit diesem Timeout aus oder man wartet im Script so lange bis die Uhrzeit erreicht wurde.
Aber warum willst du dir die Mühe machen wenn es für sowas schon Tools gibt wie Sand am Meer?
Ich dachte, das wäre ein typischer Anwendungsbereich für AutoIt und kam gar nicht auf die Idee, ein Tool zu suchen
Im Grunde genommen, müsste ich nur wissen, wie man in AutoIt die Zeitdifferenz zwischen der Systemzeit und der eingetippten Zeit ausrechnet und dann shutdown mit dem Ergebnis aufrufen. Oder ist das komplizierter?
Im Grunde genommen, müsste ich nur wissen, wie man in AutoIt die Zeitdifferenz zwischen der Systemzeit und der eingetippten Zeit ausrechnet und dann shutdown mit dem Ergebnis aufrufen. Oder ist das komplizierter?
So schwierig ist das nicht, dafür gibt es die UDF _DateDiff. Damit kannst du bis auf Sekunden wie Zeitdifferenzen von zwei Datum berechnen.
Oder noch einfacher wäre es wohl mit dem Bordmittel "Aufgabenplanung" (habe ich eben gesehen beim Googlen). Wenn man in der cmd
eingibt, wird ein entsprechender Eintrag gemacht. Das war eigentlich das, was ich gesucht habe
Eine GUI von AutoIt würde es einfach noch hübscher machen...
Wie gesagt: Es gibt bereits dutzende Tools für sowas, wenn dir eins davon gefällt kannst du dir die Mühe auch sparen.