在 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