Loops 自动热键热键触发另一个热键
同样,我对自动热键部分是新手,这是我现在面临的一个问题。好的,让我解释一下如下Loops 自动热键热键触发另一个热键,loops,autohotkey,hotkeys,Loops,Autohotkey,Hotkeys,同样,我对自动热键部分是新手,这是我现在面临的一个问题。好的,让我解释一下如下 a:: loop { ; do something break } Send,{b} return b:: ; do something Send,{a} return 当按下“a”键时,称为“b”活动将被罚款,但在此之后,在“b”内不能再称为“a”。为什么?在最新的Autohotkey发行版(v1.1.22.09)中,以下代码创建了一个调用自身的无限循环: a:: l
a::
loop
{
; do something
break
}
Send,{b}
return
b::
; do something
Send,{a}
return
当按下“a”键时,称为“b”活动将被罚款,但在此之后,在“b”内不能再称为“a”。为什么?在最新的Autohotkey发行版(v1.1.22.09)中,以下代码创建了一个调用自身的无限循环:
a::
loop
{
MsgBox % "A Hotkey"
break
}
Send b
return
b::
MsgBox % "B Hotkey"
Send a
return
我假设您去掉了真正问题所在的“do something”代码。您可以使用标签来完成 测试: a:: 环 { 做点什么 打破 } 发送,{b} 返回 b:: ; 做点什么 转到,测试 返回使用。 例如:
用
$
作为两个键标签的前缀,例如$a:
和$b::
前缀$,这只会使我无法调用另一个热键函数。。当函数中的热键是send时,我想继续互相调用..$a::send,{y}Sleep,100 send,{b}return$b::send,{x}Sleep,100 send,{a}return这只会让我在按下“a”时发送yb,在按下“b”时发送xa…不要使用{/code>发送字母键,只要发送a
。也可以尝试所有方法:sendplay
或sendEvent
或sendInput
我不知道你的问题的答案,但你也可以在两个热键上各添加一个标签,并使用gosub
或goto
(在你的情况下,哪一个都不重要,因为在它后面有一个返回
)而不是send
!z::
MsgBox, z
return
F10::
Gosub, !z
return