Shutdown Timer

  • Hallo ich möchte gerne einen Shutdown Timer machen damit ich meinen pc bis nachts an lassen kann und er sich dann auschaltet.
    Aber ich hab keine ahnung wie man das man in die input box schreibt das es ausgelesen wird

  • Hallo lolxd232,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial Sehr hilfreich ist auch das Buch von peethebee .

    und hier ein kleines Demo zu deinem Problem:

    Spoiler anzeigen
    [autoit]


    #include <StaticConstants.au3>
    #include <date.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include<WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUIOnEventMode', 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $sTitel = 'Beispiel zur Nutzung der _NowCalc - Func'

    [/autoit] [autoit][/autoit] [autoit]

    Global $hMainGui = GUICreate($sTitel, 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    ;Verknüpft dem Event $Gui_Event_Close mit der Funktion _End

    [/autoit] [autoit][/autoit] [autoit]

    ;Menübar anzeigen
    Global $menu_help = GUICtrlCreateMenu("?", -1, 1)
    Global $item_help_auto = GUICtrlCreateMenuItem("Autor: (Auto)Bert", $menu_help)
    Global $item_help_exit = GUICtrlCreateMenuItem("Beenden", $menu_help)
    GUICtrlSetOnEvent(-1, '_End')

    [/autoit] [autoit][/autoit] [autoit]

    Local $hedtShutDown = GUICtrlCreateDate("01.01.2009", 20, 10, 150, 25, $DTS_UPDOWN)
    ;erzeugt ein Datum Steuerelement die zurückgegebene ID wird in der Variablen $hedtShutDown gespeichert
    Local $DTM_SETFORMAT_ = 0x1032
    Local $style = "dd/MM/yyyy HH:mm"
    ;Local $style = "hh:mm"
    GUICtrlSendMsg($hedtShutDown, $DTM_SETFORMAT_, 0, $style)
    GUICtrlSetFont(-1, 12)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
    ;verankert das "$hedtshutdown" Steuerelement Links, rechts, oben und fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite

    [/autoit] [autoit][/autoit] [autoit]

    $hbtndStart = GUICtrlCreateButton('&starten', 220, 10, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Prüfen" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_SetShutDown')
    ;Beim Klicken des Buttons wird die Funktion _CheckTime aufgerufen

    [/autoit] [autoit][/autoit] [autoit]

    Local $hlblDifferenz = GUICtrlCreateLabel("hier steht danach die verbleibende Zeit", 12, 80, 170, 100)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert das Label links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am linken Rand

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateButton('Be&enden', 220, 115, 150, 25)
    GUICtrlSetOnEvent(-1, '_END')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGraphic(0, 210, 400, 2, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    Global $hStatus = GUICtrlCreateLabel("Statuus", 5, 215, 400, 25)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKRIGHT + $GUI_DOCKLEFT + $GUI_DOCKBOTTOM)
    ;verankert das Label Links, rechts und unten; fixiert die Höhe
    ;beim Resizen bleibt es dadurch auf seiner Position und ändert nur die Breite wird angepasst
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(20000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _End()
    GUIDelete($hMainGui)
    Exit
    EndFunc ;==>_End

    [/autoit] [autoit][/autoit] [autoit]

    Func _SetShutDown()
    If GUICtrlRead($hbtndStart) = "&starten" Then
    GUICtrlSetData($hbtndStart, "&stop")
    GUICtrlSetState($hedtShutDown,$GUI_DISABLE)
    AdlibRegister("_CheckShutDown",5000) ;prüft alle 5 Sekunden
    Else
    GUICtrlSetData($hbtndStart, "&starten")
    GUICtrlSetState($hedtShutDown,$GUI_ENABLE)
    AdlibUnRegister("_CheckShutDown")
    EndIf
    EndFunc ;==>_SetShutDown

    [/autoit] [autoit][/autoit] [autoit]

    Func _CheckShutDown()
    Local $dtNow = StringLeft(_NowCalc(), 16)
    Local $sCheckShutDown = GUICtrlRead($hedtShutDown)
    Local $dtShutDown = StringMid($sCheckShutDown, 7, 4) & "/" & StringMid($sCheckShutDown, 4, 2) & "/" & StringLeft($sCheckShutDown, 2) & " " & StringRight($sCheckShutDown, 5)
    Local $dtDiff = _DateDiff('n', $dtNow, $dtShutDown)
    GUICtrlSetData($hlblDifferenz, "noch " & $dtDiff & " Minuten")
    If $dtDiff = 0 Then Shutdown(33)
    EndFunc ;==>_CheckShutDown

    [/autoit]

    Schau dir zum besseren Verständnis die verwendeten Funktionen in der Hilfe nach,

    mfg autoBert

  • Das sollte gehen (Ist jetzt ein TIMER, er zählt runter. Wenn du um eine bestimmte Uhrzeit herunterfahren möchtest musst du es anders machen.)

    [autoit]

    $iMinutes = InputBox("Time", "in wievielen MINUTEN soll der PC heruntergefahren werden?")

    [/autoit][autoit][/autoit][autoit]

    $hTimer = TimerInit()
    While TimerDiff($hTimer) <= $iMinutes * 60000
    Sleep (20)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Shutdown (12)

    [/autoit]
  • Oder du machst das mit den Windows Board mitteln :)

    WIN-TASTE+R

    und dort das eingeben: shutdown /s /t 3600
    z.B. fährt den PC nach einer Stunde runter.

    abbrechen kannst du ihn mit shutdown /a

    Wenn du mehr über shutdown wissen willst gib cmd ein und dann in der Konsole: shutdown /?

    Falls dir das zuviel rechnerrei ist dann musste dir wirklich was basteln oder ein Programm suchen.
    Mein Tipp bastel dir selber was dann lernste was und kannst stolz drauf sein das du wasgeschaffen hast was du gebrauchen kannst :)

    Gruss DevFly