Ich habe kürzlich mal wieder eine wunderschöne Schleife programmiert und auch schon mal ähnliche Probleme mit dem Befehl SEND gehabt. Dies führt mich zur Frage, ob es unter Autohotkey eine Taste oder Tastenkombination gibt, mit der man generell Skripts (oder Skripte?) abbrechen kann, so ähnlich wie <ESC> oder <CTRL C>. Weiß jemand Hilfe?

Wie unterbricht man ein Skript per Taste?

Best Answer Seidenweber , 18 August 2013 - 10:08 AM
Dies führt mich zur Frage, ob es unter Autohotkey eine Taste oder Tastenkombination gibt, mit der man generell Skripts (oder Skripte?) abbrechen kann, so ähnlich wie <ESC> oder <CTRL C>?
Nein.
Du kannst
- einen HotKey definieren -> Exit bzw. ExitApp
- auf das Tray-Icon rechtsklicken und 'Exit' wählen (sofern das Menue nicht durch das Script verändert wurde)
- den Prozess von AutoHotky.exe abschießen, unter dem das Script läuft

All questions & answers are related to AHK 1.1.19.03 x64 Unicode
- auf das Tray-Icon rechtsklicken und 'Exit' wählen (sofern das Menue nicht durch das Script verändert wurde)
- den Prozess von AutoHotky.exe abschießen, unter dem das Script läuft
Ja, das ist klar.
einen HotKey definieren -> Exit bzw. ExitApp
Also, bei mir funktioniert das leider nicht. Meine Loop-Schleife (s. u.) läßt sich z. B. nicht, wie gewünscht, mit dem Hotkey abbrechen...
Loop, 5 MsgBox %A_Index% MsgBox Fertig return #z:: ; Abbruch-Hotkey mit Win+Z Exit return

Was ich zu Exit geschrieben habe, war Schrott
#z::ExitApp

All questions & answers are related to AHK 1.1.19.03 x64 Unicode
Danke, Seidenweber, genau so funktioniert es jetzt. Was meinst Du, ist der Hotkey Win+Z eine gute Wahl?

Ich finde schon, wenn du genau wie ich die Windows-Taste nie brauchst.
Wenn das nicht für einen selbst ist oder man die Taste braucht, würde ich das etwas anders lösen, damit das Menue nicht herumnervt, wenn man solche HotKeys benutzt, bzw. die Taste ihre normale Funktion behält.
Der erste Hotkey '$LWin' sorgt dafür, dass das Menue nur angezeigt wird, wenn man die Windows-Taste alleine gedrückt hat.
Alle Hotkeys, die zwischen '#If GetKeyState("LWin","P")' und dem nächsten #If funkionieren nur, wenn die Windows-Taste gedrückt ist.
$LWin:: ; Linke Win-Taste ('$' verhindert, dass der Send-Befehl den HotKey selber auslöst) KeyWait, LWin ; Warten, bis LWin losgelassen wird If (A_ThisHotkey = "$LWin") ; Wenn keine zusätzliche Taste bei gedrückter LWin-Taste gedrückt wurde Send, {LWin} ; normale Funktion von LWin ausführen Return ; Ende des HotKeys #If GetKeyState("LWin","P") ; Ab hier bedingte HotKeys - gültig NUR, wenn LWin gedrückt ist z:: ToolTip % A_ThisHotkey Return ; beliebige weitere HotKeys ;... ;... #If ; Ende der bedingten HotKeys. Ab hier funkieren HotKeys wieder 'normal'

All questions & answers are related to AHK 1.1.19.03 x64 Unicode