找回密码
 加入
搜索
查看: 10933|回复: 22

[AU3基础] 检测鼠标活动 『已解决』

  [复制链接]
发表于 2013-8-22 12:11:37 | 显示全部楼层 |阅读模式
本帖最后由 akk08 于 2013-8-24 21:30 编辑

请教各位大大,电脑鼠标5分钟无操作,就会自动关机,如何防止?
用_Timer_GetIdleTime函数?如何只检测鼠标活动?求解
发表于 2013-8-22 13:40:33 | 显示全部楼层
无操作是指鼠标没有移动还是没有点击还是既没有移动也没有点击?
 楼主| 发表于 2013-8-22 15:34:50 | 显示全部楼层
无移动也无点击
 楼主| 发表于 2013-8-22 15:37:22 | 显示全部楼层
回复 2# MaGiCmAn


    就是无移动也无点击,办公电脑貌似只判断鼠标操作
 楼主| 发表于 2013-8-22 15:37:46 | 显示全部楼层
回复 2# MaGiCmAn


    就是无移动也无点击,办公电脑貌似只判断鼠标操作
发表于 2013-8-22 15:42:58 | 显示全部楼层
这个是不是电脑的电源管理里设置下就可以了
没必要还用程序把
 楼主| 发表于 2013-8-22 20:53:27 | 显示全部楼层
回复 6# ghostsho


    要能改我早改了,没管理员权限
发表于 2013-8-22 22:04:15 | 显示全部楼层
用MouseGetPos检测鼠标有没有移动,用 _IsPressed检测鼠标有没有点击。
建议还是定时用MouseMove模拟移动鼠标吧(微量移动一点就行),也不影响实际操作,还省得那么麻烦。
 楼主| 发表于 2013-8-23 22:34:52 | 显示全部楼层
回复 8# MaGiCmAn


    微量移动?新手,目前只会移动到特定坐标,如何实现,谢谢!
发表于 2013-8-23 22:47:53 | 显示全部楼层
类似$apos=MouseGetPos检测鼠标当前位置,MouseMove($apos[0]+1,$apos[1]+1)移动一个像素。写个无线循环(white 1),每4分钟一次就可以了吧?
实在要检测的话就用这个吧,献丑了:
#include <Misc.au3>
$daley=0        ;计时
While 1
        $aPos = MouseGetPos()
        Sleep(200)
        $bPos = MouseGetPos()
If $aPos[0]<>$bPos[0] Or $aPos[1]<>$bPos[1] Or _IsPressed(01)=1 Or _IsPressed(02)=1 Or _IsPressed(03)=1 Then        ;如果鼠标有动作就重置计时
        $daley=0
        MsgBox(1,"捕捉到",MouseGetPos(2))
EndIf
$daley+=200
If $daley=240000 Then                        ;计时达到4分钟就跳出循环关机
MouseMove($apos[0]+1,$apos[1]+1)
EndIf
WEnd
我也是新手
发表于 2013-8-23 22:48:57 | 显示全部楼层

MsgBox(1,"捕捉到",MouseGetPos(2))
这行删掉
 楼主| 发表于 2013-8-24 00:44:19 | 显示全部楼层
回复 10# MaGiCmAn


    万分感谢,我试一试。
发表于 2013-8-24 01:28:09 | 显示全部楼层
不知道结果行不性啊
 楼主| 发表于 2013-8-24 14:07:09 | 显示全部楼层
回复 10# MaGiCmAn


    11行  那个是 $delay+=200?   
     不是 $delay=+200
 楼主| 发表于 2013-8-24 14:19:56 | 显示全部楼层
回复 11# MaGiCmAn


    啊哦,就是+=,可是程序运行貌似不管用
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 04:40 , Processed in 0.078527 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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