2017-02-03 3 views
0

Ich habe eine Menge von kleinen Hotkeys definiert, wie zB:Wie schreibe ich ein Skript, das Hotkeys erstellt?

; Open CMD 
#c:: 
    Run, cmd.exe 
    WinWait, ahk_exe cmd.exe 
    WinActivate 
Return 

Ich mag würde, eine Funktion erstellen, die die exe und Hot-Key nimmt, und es wird die App mit dem Hot-Key binden. Hier ist, was ich bisher habe:

bind_exe_to_hotkey(exe,hotkey) 
{ 
    run_label: 
     Run, %exe% 
     WinWait, ahk %exe% 
     WinActivate 
    Return 

    HotKey, %hotkey%, run_label 
} 

bind_exe_to_hotkey("cmd.exe","#c") 

Dies öffnet jedoch nur ein Befehlsfenster. Was mache ich falsch? Gibt es einen einfacheren/besseren Weg, dies zu erreichen?

+0

Ihre Funktion öffnet nur ein Befehlsfenster, weil es gibt vor „HotKey“ ausgeführt wird. Das "run_label" macht nichts; es ist nur ein * goto * ähnlicher Eintragszeiger. Die Anweisungen Run, WinWait und WinActivate werden ausgeführt und die Funktion kehrt zurück, bevor die HotKey-Anweisung erreicht wird. –

Antwort

1

Wird Schlüssel zu einer Funktion, die eine ausführbare Griffe starten:

#c: launch("cmd.exe") 
#n: launch("notepad.exe") 

launch(exe) 
{ 
    Run, %exe% 
    WinWait, ahk %exe% 
    WinActivate 
} 
Verwandte Themen