yang3114 发表于 2012-1-30 15:46:31

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

本帖最后由 yang3114 于 2012-1-30 16:21 编辑

多谢楼下的兄弟,已经解决了。
While 1
        $zb = MouseGetPos()
        ToolTip("" & @CR & "X坐标:" & $zb & @CR & "Y坐标:" & $zb)
        Sleep(5000)
        $zb2 = MouseGetPos()
        If $zb <> $zb2 Then
                MsgBox(16, "", "鼠标移动了", 5)
        Else
                MsgBox(48, "", "鼠标没移动", 5)
        EndIf
WEnd

user3000 发表于 2012-1-30 15:49:45

本帖最后由 user3000 于 2012-1-30 15:51 编辑

补充: 不要重开帖啊, 唉!
不是有个函数可以取得鼠标的坐标值吗?
鼠标闲置(没人使用时)肯定是不会移动的.

半芯竹 发表于 2012-1-30 15:55:16

如果要更精确一点,再判断鼠标按键情况。

yang3114 发表于 2012-1-30 16:00:51

不需要判断有无按键情况,只要判断有无移动就行。

yang3114 发表于 2012-1-30 16:23:29

补充: 不要重开帖啊, 唉!
不是有个函数可以取得鼠标的坐标值吗?
鼠标闲置(没人使用时)肯定是不会移动的.
user3000 发表于 2012-1-30 15:49 http://www.autoitx.com/images/common/back.gif


    前面那个贴打字错了,被管理关闭了,所以就重新开了个了,不好意思啊。

骗子 发表于 2012-1-30 16:53:45

不知道要的是不是这个

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




502762378 发表于 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 <> $pos1 Or $pos <> $pos1 Then
                $begin = TimerInit()
                ConsoleWrite ("鼠标动了"&@CR)
                $pos = $pos1
                $pos = $pos1
        EndIf
        Sleep(100)
ConsoleWrite ("鼠标静止时间为(毫秒):"& TimerDiff($begin)&@CR)
WEnd


leibin0121 发表于 2012-5-6 21:08:11

感谢楼主分享
页: [1]
查看完整版本: [已解决]如何检测鼠标空闲了多长时间?