Возможно ли в AHK установить подпрограмму для запуска другой подпрограммы нажатием ее горячей клавиши (не goSub или GoTo)

У меня есть такой сценарий ...

#If (WinActive("ahk_class XXX") || WinActive("ahk_class YYY")) && !GetKeyState("Space", "P")
8:: msgbox you hit 8
7:: msgbox you hit 7
6:: msgbox you hit 6
5:: msgbox you hit 5
4:: msgbox you hit 4
3:: msgbox you hit 3
2:: msgbox you hit 2
1:: msgbox you hit 1

и я хотел бы, чтобы другая горячая клавиша g:: вызывала 8 горячих клавиш из скрипта AHK, я знаю, что мог бы GoTo, но возможно ли вместо этого вызвать горячую клавишу?

В настоящее время я пытался ...

g Up::
SendInput{8 Down}{8 Up}
;SendInput {8 Down}{8 Up}
Return

with no result, it doesn't trigger the `8::` subroutine.

Является ли это возможным? спасибо заранее.

Если это невозможно, я попытался использовать GoTo, но это не работает ...

$g::
GoTo, GoGroup1
Sleep 50
GoTo, ToolPset2
Return

GoGroup1:
some clicks
Return

ToolPset2:
some clicks
Return

Потому что при нажатии g он делает Перейти к group1, но тогда это не GoTo ToolPset2, почему ???

1 ответ1

0

Если вы используете GoSub вместо Goto , он должен работать.
В основном: Gosub возвращается, но Goto никогда не возвращается.

$g::
GoSub, GoGroup1
Sleep 50
GoSub, ToolPset2
Return

GoGroup1:
MsgBox 1
Return

ToolPset2:
MsgBox 2
Return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .