AutoHotKey - 乘法变量不起作用

问题描述

我在使用 AutoHotKey 脚本时遇到问题。当我按 F1 时,鼠标左键被按住,但 A 也被按下。有谁知道我该如何解决这个问题?

#MaxThreadsPerHotkey,2
Toggle := 0
Toggle2 := 0

F1::
Toggle := !Toggle
If (Toggle){
   Click,Down
} else {
   Click,Up
}

F2::
Toggle2 := !Toggle2
If (Toggle2){
   send {a down}
} else {
   send {a up}
}

解决方法

您需要通过在要执行的最后一部分之后放置 Return 来告诉 autohotkey 您已经完成了在按下热键时应该执行的代码的编写。

来自docs

从之前跳转到的子程序返回 函数调用、Gosub、热键激活、GroupActivate 或其他 意味着。


所以对于您的脚本:

#MaxThreadsPerHotkey,2
Toggle := 0
Toggle2 := 0

F1::
Toggle := !Toggle
If (Toggle){
   Click,Down
} else {
   Click,Up
}
return

F2::
Toggle2 := !Toggle2
If (Toggle2){
   send {a down}
} else {
   send {a up}
}
return