首页 > 解决方案 > AutoHotkey v1 使用一个快捷方式作为开关控制给定循环动作的开或关

问题描述

我正在为我玩的游戏制作宏,我可以坐在那里看终端。

我希望当我在终端上按下Alt+PE,它会向下滚动,以便屏幕可以显示鼠标需要单击的项目,然后单击给定坐标并等待 20 秒。(一直重复直到按Alt+O停止)


!p::
while toggle==0
    (send e)
    Loop 3
        send {WheelDown}
    send {click,1210,670}
    Sleep, 20000
!o:: toggle=(toggle+1)

但是,它会E无限期地按住键。

标签: autohotkey

解决方案


原因e似乎是因为您的 while 循环仅执行“ (send e)”行。如果您需要 while 循环执行多行代码,请将代码块括在括号中。此外,除非您的个人热键是一行,否则您需要在每个热键Return的末尾放置一个;否则,它将继续执行到下一个热键的代码,依此类推。

这是我未经测试的代码版本。请让我知道这是否适合您。

!p::
While !toggle
{
    Send , e{WheelDown 3}{click , 1210 , 670}
    Sleep , 20000
}
toggle := !toggle
Return
!o::toggle := !toggle

推荐阅读