自动热键脚本,2个功能,1按

时间:2016-05-11 02:38:27

标签: autohotkey

我目前有一个自动点击器,当我按住鼠标左键时,它会以我想要的速度点击垃圾邮件。我想在同一个脚本中添加另一个按键。

我希望鼠标能够快速发送垃圾邮件,然后我希望“e”每1秒发送一次垃圾邮件,同时按住鼠标1键

这是我目前使用的自动点击工具

F1::
Suspend Toggle
Return

~$LButton::
While GetKeyState("LButton","P"){
    Click Left   
    Sleep 5

}
return

我想如果我只是添加了另一条线就可以了,就像这样,但它没有。这在我的头脑中是有道理的,但我不知道如何编码:(并且我整晚都在搜索汽车热门论坛。

F1::
Suspend Toggle
Return

~$LButton::
While GetKeyState("LButton","P"){
    Click Left   
    Sleep 5
    send e
    sleep 1000
}
return

我的目标是我希望鼠标能够快速发送垃圾邮件,然后我希望“e”每1秒发送一次垃圾邮件,同时按住鼠标1键

2 个答案:

答案 0 :(得分:2)

这是使用计时器的解决方案。 Timers的优点是它们不会阻塞当前线程,从而允许同步线程中的后续代码准同步执行。

~$LButton::
    SetTimer, LeftClick, 50
    SetTimer, SendEKey, 1000
return

~$LButton up::
    SetTimer, LeftClick, Off
    SetTimer, SendEKey, Off
return

LeftClick:
    Click, Left
return

SendEKey:
    Send, e
return

一句话:

每5分钟点击对我来说似乎有点太多了。根据您的脚本设置,您无论如何都不会达到这个小延迟。如果您未使用SendMode Input,则默认Key Delay每按键10毫秒。此外,如果未配置SetBatchLines,则您的脚本将等待每行执行10毫秒。我建议使用这些参数,以便找到仍然足够快点击的最大可能延迟。这将节省一些资源并最大限度地降低某种溢出情况的风险。

答案 1 :(得分:1)

你不能运行两个" Sleeps"像那样。在返回send e之前,您将在Click Left之后等待1秒钟。使用计数器和一些数学。并且,由于5 ms可能太快而且AHK甚至无法处理,请尝试使用20(甚至可能仍然太快 - 您希望最大的数字仍然允许最快的鼠标点击)

尝试:

~$LButton::
While GetKeyState("LButton","P"){
    Click Left   
    i++
    IfEqual, i, 50
    {
        send e
        i=
    }
    Sleep 20
}
return

请告诉我们这是否适合您。 。