找回密码
 加入
搜索
查看: 1870|回复: 8

[AU3基础] [已解决]如何检测鼠标空闲了多长时间?

  [复制链接]
发表于 2012-1-30 15:46:31 | 显示全部楼层 |阅读模式
本帖最后由 yang3114 于 2012-1-30 16:21 编辑

多谢楼下的兄弟,已经解决了。
While 1
        $zb = MouseGetPos()
        ToolTip("" & @CR & "X坐标:" & $zb[0] & @CR & "Y坐标:" & $zb[1])
        Sleep(5000)
        $zb2 = MouseGetPos()
        If $zb[0] <> $zb2[0] Then
                MsgBox(16, "", "鼠标移动了", 5)
        Else
                MsgBox(48, "", "鼠标没移动", 5)
        EndIf
WEnd
发表于 2012-1-30 15:49:45 | 显示全部楼层
本帖最后由 user3000 于 2012-1-30 15:51 编辑

补充: 不要重开帖啊, 唉!
不是有个函数可以取得鼠标的坐标值吗?
鼠标闲置(没人使用时)肯定是不会移动的.
发表于 2012-1-30 15:55:16 | 显示全部楼层
如果要更精确一点,再判断鼠标按键情况。
 楼主| 发表于 2012-1-30 16:00:51 | 显示全部楼层
不需要判断有无按键情况,只要判断有无移动就行。
 楼主| 发表于 2012-1-30 16:23:29 | 显示全部楼层
补充: 不要重开帖啊, 唉!
不是有个函数可以取得鼠标的坐标值吗?
鼠标闲置(没人使用时)肯定是不会移动的.
user3000 发表于 2012-1-30 15:49



    前面那个贴打字错了,被管理关闭了,所以就重新开了个了,不好意思啊。
发表于 2012-1-30 16:53:45 | 显示全部楼层
不知道要的是不是这个

$pos = MouseGetPos()
While 1
        $pos1 = MouseGetPos()
        If $pos[1] <> $pos1[1] Or $pos[0] <> $pos1[0] Then
                ConsoleWrite ("鼠标动了"&@CR)
                $pos[1] = $pos1[1]
                $pos[0] = $pos1[0]
        EndIf
        Sleep(100)
WEnd




发表于 2012-1-30 16:59:03 | 显示全部楼层
楼主给出的代码不严谨,循环语句中的sleep为5秒,你是要判断空闲5秒吗?
发表于 2012-1-30 17:05:27 | 显示全部楼层
本帖最后由 骗子 于 2012-1-30 17:06 编辑


Global $pos = MouseGetPos()
Global $begin = TimerInit()
While 1
        $pos1 = MouseGetPos()
        If $pos[1] <> $pos1[1] Or $pos[0] <> $pos1[0] Then
                $begin = TimerInit()
                ConsoleWrite ("鼠标动了"&@CR)
                $pos[1] = $pos1[1]
                $pos[0] = $pos1[0]
        EndIf
        Sleep(100)
ConsoleWrite ("鼠标静止时间为(毫秒):"& TimerDiff($begin)&@CR)
WEnd


发表于 2012-5-6 21:08:11 | 显示全部楼层
感谢楼主分享
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 11:33 , Processed in 0.079701 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表