首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据用户行为打破鼠标移动

根据用户行为打破鼠标移动
EN

Stack Overflow用户
提问于 2015-01-16 12:13:15
回答 2查看 273关注 0票数 0

下面的脚本将鼠标键移动到无限循环内15秒间隔的不同屏幕位置:

代码语言:javascript
复制
Loop
{
MouseMove, 200, 100, 50, R
Sleep, 15000
MouseMove, -200, -100, 50, R
Sleep, 10000
}

当检测到用户手动鼠标移动时,我如何打破这个循环?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-16 13:08:43

也许是这样的:(重新编辑了 21.01.2015)

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2015-01-16 22:39:52

您可以使用TimeIdlePhysical,但请记住,您需要安装鼠标钩子才能使用它。

下面是一个简单的例子:

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

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

https://stackoverflow.com/questions/27983717

复制
相关文章

相似问题

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