HotKey für Pausieren und Fortsetzen des Skripts

  • Hi!

    Ich verzweifle grade an einer Funktion, die beim Drücken des HotKeys STRG+S das Skript solange pausiert, bis STRG+S erneut gedrückt wird. Evtl mit Do...Until aber ich weiß da wieder nicht, wie ich das in der Syntax von Sleep() bestimmen soll.

    fabs

  • hey fabs,

    ungefähr so:

    [autoit]

    #include <misc.au3>

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

    while 1
    If _IsPressed(11) and _IsPressed(53) Then _schlafen()
    sleep(100)
    WEnd

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

    func _schlafen()
    MsgBox(0, "", "schlafen! :D")
    while 1
    If _IsPressed(11) and _IsPressed(53) Then ExitLoop
    sleep(100)
    WEnd
    EndFunc

    [/autoit]
  • Hätte hier auch noch was, sogar ohne include :P :P :

    Spoiler anzeigen
    [autoit]

    HotKeySet("^s","_sleep") ;Strg+S als Sleep Hotkey
    $sleep = 0 ;am Anfang ist Sleep ausgeschalten

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

    While 1
    ;paar Befehle
    ;dein Skript usw.
    sleep(200) ;um nicht PC zu stark auszulasten
    ;jetzt kommt die Schleife in der Schleife ;)
    While $sleep = 1 ;während per Hotkey sleep aktiviert wurde
    Sleep(200) ;bleibt das Skript solange hier bis du
    WEnd ;nochmal Strg+S gedrückt hast
    WEnd

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

    Func _sleep() ;hier die Sleep Funktion
    If $sleep = 1 Then ;wird abgefragt ob Sleep schon aktiv oder nicht
    $sleep = 0
    Else
    $sleep = 1
    EndIf
    EndFunc

    [/autoit]

    Gruß Stormy

  • Ich hätte hier noch eine Lösung:

    Spoiler anzeigen
    [autoit]

    HotKeySet("^s","_sleep") ;Strg+S als Sleep Hotkey
    Global $sleep = 0 ;am Anfang ist Sleep ausgeschalten

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

    While 1
    ;paar Befehle
    ;dein Skript usw.
    sleep(500) ;um nicht PC zu stark auszulasten
    ;jetzt kommt die Schleife in der Schleife ;)
    ConsoleWrite( "Pause ohne Abfrage :P"&@LF)
    WEnd

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

    Func _sleep() ;hier die Sleep Funktion
    HotKeySet("^s","_sleepStop")
    $sleep = 1
    ToolTip("SLEEP")
    While $sleep
    Sleep(100)
    WEnd
    ToolTip("")
    EndFunc
    Func _sleepStop()
    HotKeySet("^s","_sleep")
    $sleep = 0
    EndFunc

    [/autoit]