Auto Shutdown

  • Hallo liebe Community,
    hier poste ich euch mal mein Auto Shutdown Skript.

    Spoiler anzeigen
    [autoit]

    While 1
    If Not ProcessExists ("iTunes.exe") Then
    While 1
    $PositionAlt = MouseGetPos()
    Sleep (600000)
    $PosiitionNeu = MouseGetPos()
    If $PositionAlt[0]=$PosiitionNeu[0] AND $PositionAlt[1]=$PosiitionNeu[1] Then
    Shutdown(13)
    EndIf
    WEnd
    EndIf
    WEnd

    [/autoit]


    Ganz simpel.
    Jedoch gibt es ein einfaches Problem.
    Szenario:
    Ich beende gerade iTunes.
    Nun wir die Koordinate aufgenommen.
    Dann bewege ich nochmal kurz die Maus, weil ich meine Hand von ihr nehme...
    Und schon muss ich 20 Minuten warten.

    Ich weiß, es klingt ein bisschen übertrieben. Aber vieleicht kennt jemand einen Rat :D

    Mit freundlichen Grüßen,
    Poker

  • Oh entschuldige !

    Also ich möchte erreichen, das nach 10 Minuten inaktivität heruntergefahren wird.

    Sobald ich die Maus nicht mehr Bewege soll der Timer anfange.
    Wenn ich also gerade in dem Sleep stecke. Und dann den Pc verlasse. Wird ja erst nach Ablauf der 10 Minuten neu "gescannt" und dann wieder 10 Minuten gewartet.


    Sorry, aber das ist schwer zu beschreiben^^

  • schau dir mal

    [autoit]

    _Timer_GetIdleTime

    [/autoit]

    an.

    Ansonsten mach doch einfach vor das "While 1" ein sleep(3000) dann kannst du die Maus noch 3 Sekunden bewegen, bevor die Abfrageschleife losgeht....
    Szenario:
    Ich beende gerade iTunes.
    Jetzt wartet das Script per Sleep(3000)
    Dann bewege ich nochmal kurz die Maus, weil ich meine Hand von ihr nehme..Und nach kurzer Zeit fängt die Schleife an zu zählen und nach 10 min fährt der Rechner runter.
    Nun wir die Koordinate aufgenommen.
    Dann bewege ich nochmal kurz die Maus, weil ich meine Hand doch nicht von ihr nehme...
    Und schon muss ich 20 Minuten warten.Wie sich das gehört! :D

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (8. November 2009 um 00:53)

    • Offizieller Beitrag

    Oder so:

    Spoiler anzeigen
    [autoit]


    HotKeySet('{ESC}', '_End')
    While True
    $countdown = Int(10 - _Timer_GetMouseIdleTime() / 1000)
    ToolTip('Noch ' & $countdown & ' sekunden bis zum runterfahren.')
    If $countdown <= 0 Then
    MsgBox(0, 0, 'Rechner herunterfahren!')
    Exit
    EndIf
    Sleep(20)
    WEnd

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

    Func _Timer_GetMouseIdleTime()
    If Not IsDeclared('aMousePosOld') Then Global $aMousePosOld = MouseGetPos()
    If Not IsDeclared('iTimer') Then Global $iTimer = TimerInit()
    Local $aMousePos = MouseGetPos()
    If $aMousePos[0] <> $aMousePosOld[0] Or $aMousePos[1] <> $aMousePosOld[1] Then
    $aMousePosOld = $aMousePos
    $iTimer = TimerInit()
    EndIf
    Return Int(TimerDiff($iTimer))
    EndFunc

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

    Func _End()
    Exit
    EndFunc

    [/autoit]