功能:我希望脚本循环F5为我刷新页面,当我看到不错的东西时,请按其他键之一来狙击某项。
问题:在循环F5时,我无法执行任何其他脚本。
MouseGetPos, OrigX, OrigY
mouseClick, left
sleep 20
random, randomlocx , 0,5
random, randomlocy , 0,5
MouseMove, 1162+randomlocx, 477+randomlocy, 0
mouseClick, left
sleep 10
send {y}
random, randomlocx2 , 0,10
random, randomlocy2 , 0,10
MouseMove, OrigX+randomlocx2, OrigY+randomlocy2, 0
return
2::
MouseGetPos, OrigX, OrigY
random, randomlocx , 0,5
random, randomlocy , 0,5
MouseMove, 964+randomlocx, 575+randomlocy, 0
sleep 20
mouseClick, left
MouseMove, OrigX, OrigY, 0
~$F5::
loop , 300
{
Send {F5}
}
return
F12::Reload ; Reload script```
答案 0 :(得分:1)
AutoHotkey不能提供真正的多线程,所以这就是为什么您的脚本在运行循环时不响应的原因。
为了克服这个问题,您将要使用Timer。循环实际上并不意味着这些东西。
使用一个键打开/关闭计时器的示例:
F5::
toggle := !toggle ;a convenient way to toggle a variable in AHK, see below of explanation
if(toggle) ;if true
SetTimer, TimerCallback, 100 ;callback every ~100ms
else
SetTimer, TimerCallback, Off ;turn off timer
return
TimerCallback() ;the callback function
{
Tooltip, % A_TickCount
}
可以从我的here的先前答案中找到toggle := !toggle
可变状态切换的说明。
还包括一个可爱的1liner计时器切换热键的示例。