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