下面的脚本将鼠标键移动到无限循环内15秒间隔的不同屏幕位置:
Loop
{
MouseMove, 200, 100, 50, R
Sleep, 15000
MouseMove, -200, -100, 50, R
Sleep, 10000
}当检测到用户手动鼠标移动时,我如何打破这个循环?
发布于 2015-01-16 13:08:43
也许是这样的:(重新编辑了 21.01.2015)
F1::
Loop
{
MouseGetPos, X0, Y0
MouseMove, 200, 100, 50, R
GoSub, BreakLoop
MouseMove, -200, -100, 50, R
GoSub, BreakLoop
}
return
BreakLoop:
Loop, 1000
{
Sleep, 15
MouseGetPos, X1, Y1
If (X1-X0>200 || X0-X1>200 || Y1-Y0>100 || Y0-Y1>100)
exit
}
return
Esc::ExitApp发布于 2015-01-16 22:39:52
您可以使用TimeIdlePhysical,但请记住,您需要安装鼠标钩子才能使用它。
下面是一个简单的例子:
#InstallMouseHook
loop,
{
MouseMove, 100, 500
sleep 15000
if (A_TimeIdlePhysical <= 15000) ; if the mouse was moved while the script was sleeping
break
MouseMove, 500, 100
sleep 10000
if (A_TimeIdlePhysical <= 10000) ; if the mouse was moved within the last 10 secs
break
}
return希望它能帮上忙
注意:来自1.1+的req版本http://ahkscript.org
https://stackoverflow.com/questions/27983717
复制相似问题