Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Wie unterbricht man ein Skript per Taste?



  • Please log in to reply
5 replies to this topic
Johnny R
  • Members
  • 54 posts
  • Last active: Sep 18 2015 05:36 AM
  • Joined: 03 Nov 2012

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?



Seidenweber
  • Moderators
  • 638 posts
  • Last active: Sep 06 2015 01:51 PM
  • Joined: 10 May 2011

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

 


Johnny R
  • Members
  • 54 posts
  • Last active: Sep 18 2015 05:36 AM
  • Joined: 03 Nov 2012

- 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


Seidenweber
  • Moderators
  • 638 posts
  • Last active: Sep 06 2015 01:51 PM
  • Joined: 10 May 2011
✓  Best Answer

Was ich zu Exit geschrieben habe, war Schrott

#z::ExitApp

All questions & answers are related to AHK 1.1.19.03 x64 Unicode

 


Johnny R
  • Members
  • 54 posts
  • Last active: Sep 18 2015 05:36 AM
  • Joined: 03 Nov 2012

Danke, Seidenweber, genau so funktioniert es jetzt. Was meinst Du, ist der Hotkey Win+Z eine gute Wahl?



Seidenweber
  • Moderators
  • 638 posts
  • Last active: Sep 06 2015 01:51 PM
  • Joined: 10 May 2011

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