咨询一个问题,关于检测鼠标键盘是否活动的 ( 积分: 60 )

  • 主题发起人 主题发起人 sl98_1
  • 开始时间 开始时间
S

sl98_1

Unregistered / Unconfirmed
GUEST, unregistred user!
我想咨询以下 用什么函数可以检测 在一段时间内 没有鼠标或者键盘,或者其他输入设备(如手写板)使用电脑的。<br>还有一个问题 我想检测到没有用后,关闭 我所有运行的子程序 ,只保留主程序
 
我想咨询以下 用什么函数可以检测 在一段时间内 没有鼠标或者键盘,或者其他输入设备(如手写板)使用电脑的。<br>还有一个问题 我想检测到没有用后,关闭 我所有运行的子程序 ,只保留主程序
 
做一个键盘/鼠标勾子
 
同意楼上的,如果要达到这种效果好象只能用勾子啊,期待其他好方法....
 
提供一个系统空闲时间函数(ms),你可以用timer控件定时监测,如果系统空闲时间超过指定时间则做你想做的事:(系统空闲-指系统无任何操作,包括键盘和鼠标)<br>function LastInput:dword;<br>var<br> &nbsp;LInput: TLastInputInfo;<br>begin<br> &nbsp;LInput.cbsize := sizeof(TLastInputInfo);<br> &nbsp;GetLastInputInfo(LInput);<br> &nbsp;result := GetTickCount - LInput.dwtime;<br>end;
 
GetLastInputInfo 在 Win2000 以上提供,效果很好。<br>如果需要重置时间,调用 keybd_event 重置。
 
lxw5214 您好 你的意思我明白了 ,但是你的函数是否可以解释一下。或者有没有这样的类子给小第一个。我是新手您的函数没看懂<br>shenlei98-1@163.com
 
有没有高手给小弟 解释一下
 
使用Windows API函数GetlnputState去判断。
 
能具体一点吗
 
帮助兄弟一下吧 谢谢了
 
帮助小弟一下吧
 
function LastInput: DWord;<br>var<br> &nbsp;LInput: TLastInputInfo;<br>begin<br> &nbsp;LInput.cbSize := SizeOf(TLastInputInfo);<br> &nbsp;GetLastInputInfo(LInput);<br> &nbsp;result := GetTickCount - LInput.dwTime;<br>end;<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>begin<br> &nbsp;if LastInput &gt; 10000 then //此处的 10000是指10000毫秒。<br> &nbsp;begin<br> &nbsp; &nbsp;if MDIChildCount &gt;= 0 then<br> &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp;for i := 0 to MDIChildCount -1 do<br> &nbsp; &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp; &nbsp;MDIChildren.Close;<br> &nbsp; &nbsp; &nbsp;end;<br> &nbsp; &nbsp;end;<br> &nbsp;end;<br>end;
 
谁能解释一下<br> &nbsp;LInput.cbSize := SizeOf(TLastInputInfo);<br> &nbsp;GetLastInputInfo(LInput);<br> &nbsp;result := GetTickCount - LInput.dwTime;<br>什么意思,谢谢了 解释了 马上结贴
 
LInput.cbSize := SizeOf(TLastInputInfo);//设置变量的 SIZE<br> &nbsp;GetLastInputInfo(LInput);//获取系统最后的鼠标键盘操作的信息,封装了调用API的过程<br> &nbsp;result := GetTickCount - LInput.dwTime;//GetTickCount是系统运行时间;LInput.dwTime是系统最后一次接受鼠标键盘操作的时间,他们的差值就是到目前为止,系统空闲了多少时间。<br>//如果还看不懂的话,请恕我无能为力了!<br><br>//PS:TLastInputInfo和GetLastInputInfo都在windows单元,具体细节你自己去看!<br>//做学问有时候也是需要不求甚解的!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部