| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 851 人关注过本帖
标题:转摘:鼠标N秒内没操作时执行一个动作!
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
结帖率:98.98%
收藏
 问题点数:0 回复次数:2 
转摘:鼠标N秒内没操作时执行一个动作!
* 转摘:十豆三 http://blog.
*--可以应用到公开查询系统等
*--表单的Load事件加代码:
Public gnMouseX,gnMouseY,gnTotalTimer
Store 0 To gnMouseX,gnMouseY,gnTotalTimer
Declare Integer GetCursorPos In user32 String@ lpPoint


*--表单的Unload事件加代码:
Clear Dlls "GetCursorPos"
*--向表单添加一个Timer控件,Timer1控件的Interval值为1000(即1秒),Enabled属性为.T.,此控件的Timer事件:
cbuff=Space(16)
MyMouse=GetCursorPos(@cBuff) &&获取鼠标的坐标值
X=Asc(Substr(cBuff,2,1))*256+Asc(Substr(cBuff,1,1))
Y=Asc(Substr(cBuff,6,1))*256+Asc(Substr(cBuff,5,1))
If gnTotalTimer=10 &&10秒
    Store 0 To gnMouseX,gnMouseY,gnTotalTimer
    Messagebox('鼠标已经10秒没有移动了'+Space(5),64,'信息提示')
Else
    If gnMouseX!=X Or gnMouseY!=Y
        gnMouseX=Asc(Substr(cBuff,2,1))*256+Asc(Substr(cBuff,1,1))
        gnMouseY=Asc(Substr(cBuff,6,1))*256+Asc(Substr(cBuff,5,1))
        gnTotalTimer=0
    Else
        gnTotalTimer=gnTotalTimer+1
    Endif
Endif
 
*--表单的Init事件加代码:
This.Timer1.Timer()

* 在上面的基础上,加入键盘无动作
* 表单的 KeyPress 事件即可(表单的 KeyPreview 设为.T.)
Store 0 To gnMouseX,gnMouseY,gnTotalTimer
搜索更多相关主题的帖子: 查询系统 
2016-10-26 11:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10552
专家分:42996
注 册:2014-5-20
收藏
得分:0 
看代码好象是用座标或键码的变化来判断。
无“变化”的动作是否有可能存在?
也可以定时用 API GetLastInputInfo() 检测。
2016-10-26 11:42
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
我今天刚好要用到这个,就百度出 10豆3的方法
2016-10-26 12:31
快速回复:转摘:鼠标N秒内没操作时执行一个动作!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033667 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved