Autohotkey Right-Side-Präfix Out-of-Bound-Effekt, korrektes Verhalten?

0

Ich stoße auf ein Problem, wie in diesem kleinen Ausschnitt dargestellt:

#IfWinActive ahk_class Notepad
^a:: MsgBox, Ctrl+A press in notepad
#IfWinActive

#IfWinActive ahk_class ConsoleWindowClass
>^a:: MsgBox, Ctrl+A pressed in CMD window
#IfWinActive 

ich möchte

  • haben Ctrl+A(egal links oder rechts Ctrl), um eine msgbox auf Notepad auszulösen;
  • und haben nur das Recht Ctrl+A, msgbox in einem CMD-Fenster auszulösen.

Das eigentliche Verhalten auf dem Editor ist jedoch: Nur die linke Tastenkombination Strg + A kann die Nachrichtenbox auslösen, die rechte Tastenkombination Strg + A zeigt das ursprüngliche Verhalten "Alles auswählen". Was ist los mit dir? Wie kann sich #IfWinActivedas >Präfix eines Kontexts auf einen anderen #IfWinActiveKontext auswirken?

Versucht mit Autohotkey 1.1.19.02 und 1.1.22.09 unter Windows 7 das gleiche Verhalten.

Jimm Chen
quelle

Antworten:

0

Ich habe das noch nie gesehen ... vielleicht eine Eigenart. Versuchen Sie es mit expliziten Links- / Rechtsdefinitionen.

#IfWinActive ahk_class Notepad
>^a:: 
<^a:: 
    MsgBox, Ctrl+A press in notepad
return
#IfWinActive

#IfWinActive ahk_class ConsoleWindowClass
>^a:: MsgBox, Ctrl+A pressed in CMD window
#IfWinActive 
JJohnston2
quelle
Obwohl dies eine Problemumgehung sein kann, würde ich darauf verzichten, da jede kontextsensitive Strg + <n> -Tastendefinition die Arbeit verdoppeln würde, was das Skript sehr hässlich macht.
Jimm Chen