autohotkey 脚本,按 1 次即可实现 2 个功能
auto hot key script, 2 functions with 1 press
我目前有一个自动点击器,当我按住鼠标左键时,它会以我想要的任何速度垃圾点击。我想在同一个脚本中添加另一个按键。
我希望鼠标保持快速发送垃圾邮件,然后我希望'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 秒发送一次垃圾邮件
你不能 运行 两个这样的“Sleeps
”。在返回 Click Left
之前,您将在 send e
之后等待 1 秒。使用计数器和一些数学。而且,由于 5
毫秒对于 AHK 来说可能太快了,甚至无法处理,请尝试使用 20
(它甚至可能仍然太快——你想要最大的数字仍然允许最快的鼠标点击) .
尝试:
~$LButton::
While GetKeyState("LButton","P"){
Click Left
i++
IfEqual, i, 50
{
send e
i=
}
Sleep 20
}
return
让我们知道这是否适合您。 . .
这是一个使用计时器的解决方案。 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, the default Key Delay will be 10ms per keypress. Additionally, if SetBatchLines 未配置,您的脚本将等待 10 毫秒每行执行 。我建议尝试使用这些参数,以便找到仍能足够快地点击的 最大可能延迟 。这将节省一些资源并最大限度地减少某种溢出情况。
的风险
我目前有一个自动点击器,当我按住鼠标左键时,它会以我想要的任何速度垃圾点击。我想在同一个脚本中添加另一个按键。
我希望鼠标保持快速发送垃圾邮件,然后我希望'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 秒发送一次垃圾邮件
你不能 运行 两个这样的“Sleeps
”。在返回 Click Left
之前,您将在 send e
之后等待 1 秒。使用计数器和一些数学。而且,由于 5
毫秒对于 AHK 来说可能太快了,甚至无法处理,请尝试使用 20
(它甚至可能仍然太快——你想要最大的数字仍然允许最快的鼠标点击) .
尝试:
~$LButton::
While GetKeyState("LButton","P"){
Click Left
i++
IfEqual, i, 50
{
send e
i=
}
Sleep 20
}
return
让我们知道这是否适合您。 . .
这是一个使用计时器的解决方案。 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, the default Key Delay will be 10ms per keypress. Additionally, if SetBatchLines 未配置,您的脚本将等待 10 毫秒每行执行 。我建议尝试使用这些参数,以便找到仍能足够快地点击的 最大可能延迟 。这将节省一些资源并最大限度地减少某种溢出情况。
的风险