AHK - 设置一个子程序,通过按下其热键来触发另一个子程序

AHK - 设置一个子程序,通过按下其热键来触发另一个子程序

在 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::来从 AHK 脚本中触发8热键,我知道我可以 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,但是它不会转到 ToolPset2,为什么???

答案1

如果您使用GoSub而不是Goto,它应该可以工作。
基本上:Gosub返回,但Goto永远不会回来。

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

GoGroup1:
MsgBox 1
Return

ToolPset2:
MsgBox 2
Return

相关内容