AutoHotKey:如果在循环之前定义了键绑定,循环将不起作用

AutoHotKey: Loop doesn't work if a key binding is defined before it

如果我在它之后定义一个循环和一个键绑定,它就可以工作:

Loop {
  IfWinActive, Pixel Dungeon
  SetNumLockState, On
  WinWaitNotActive, Pixel Dungeon
    SetNumLockState, Off
  Sleep, 200
}

a::b

但是如果我在循环之前定义键绑定,循环就不再起作用了:

a::b
; RETURN doesn't help

Loop {
    ... doesn't work
}

我是不是做错了什么?

a::b 是键重映射,如果您按 "a",它会发送 "b"。 AHK 在内部用两个基本热键替换了 a::b,因此那里有一个隐含的 return。您必须将代码放在上面的自动执行部分或将其放在热键定义中,例如:

+a::
    ; Loop here
return