在移动和左键单击或按下右键时执行某些操作

时间:2015-09-07 12:27:45

标签: while-loop autohotkey

我有这个小的Autohotkey脚本

LoopFunc()
{
    while (GetKeyState("shift") && GetKeyState("lbutton")) || GetKeyState("rbutton")
    {
        send, {4}
        sleep, 500
    }
}

~rbutton::LoopFunc()

~+lbutton::LoopFunc()

RButton 按预期工作,但 Shift + LButton 仅循环两次。

知道为什么吗?

编辑:

我将此添加到我的while循环

n := GetKeyState("shift", "p")
m := GetKeyState("lbutton")
tooltip, %n% %m%

第一个工具提示是1 1,第二个工具提示是0 1

1 个答案:

答案 0 :(得分:1)

使用"p" parameter获取按钮的实际 p hysical状态,并使用use &获取 LShift + LButton

LoopFunc()
{
  while (GetKeyState("shift", "p") && GetKeyState("lbutton", "p")) || GetKeyState("rbutton")
  {
    send, {4}
    sleep, 500
  }
}

~rbutton::LoopFunc()

~lshift & lbutton::LoopFunc()