首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动热键脚本,2个功能,1按

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

Stack Overflow用户
提问于 2016-05-11 02:38:27
回答 2查看 1.9K关注 0票数 0

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

我想让鼠标继续快速地发送垃圾邮件,然后我希望'e‘在按住鼠标1键时每1秒被垃圾邮件发送一次。

这是我目前使用的自动按钮。

代码语言:javascript
复制
F1::
Suspend Toggle
Return

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

}
return

我想,如果我再加一句,它会工作,像这样,但它没有。这在我脑子里是有道理的,但我不知道怎么编码:(我整晚都在自动热键论坛上搜索。)

代码语言:javascript
复制
F1::
Suspend Toggle
Return

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

我的目标是让鼠标继续快速地发送垃圾邮件,然后我希望每1秒按住鼠标1键就能收到垃圾邮件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-12 09:52:50

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

代码语言:javascript
复制
~$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

一句话:

对我来说,每5ms点击一次似乎有点过了。取决于您的脚本设置,您将不会达到这个小延迟无论如何。如果您不使用SendMode输入,默认的密钥延迟将是每个按键的10 be。此外,如果没有配置SetBatchLines,那么您的脚本将在每个执行的行等待10 isn。我建议使用这些参数来查找仍然点击速度足够快的最大可能延迟的。这将节省一些资源,并尽量减少某种溢出情况的风险。

票数 2
EN

Stack Overflow用户

发布于 2016-05-11 12:39:07

你不能那样运行两个"Sleeps“。您将在send e之后等待1秒,然后返回到您的Click Left。用柜台和一些数学。而且,由于5 ms可能太快,以致于AHK无法进行处理,所以尝试使用20 (它可能仍然太快了--您想要的是仍然允许最快的鼠标点击的最大数量)。

尝试:

代码语言:javascript
复制
~$LButton::
While GetKeyState("LButton","P"){
    Click Left   
    i++
    IfEqual, i, 50
    {
        send e
        i=
    }
    Sleep 20
}
return

如果这对你有用的话请告诉我们。。。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37152182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档