如何捕获Mouse在Form窗外的移动,像屏幕保护那样Mouse移动计数器就复位(30分)

  • 主题发起人 主题发起人 jun
  • 开始时间 开始时间
J

jun

Unregistered / Unconfirmed
GUEST, unregistred user!
如何捕获Mouse在Form窗外的移动,像屏幕保护那样....
Mouse移动计数器就复位....
 
首先, 屏保可不必捕获mouse在form外的移动, 屏保程序就是个没边框全屏幕大的form.
其次, 如果真要截取, 用hook
 
用SetCapture(HWND Hwnd)函数,参数Hwnd是该窗口句柄,
用它后Mouse在屏幕上任何地方的移动系统都会认为在该
窗口中移动。
最后用ReleaseCapture(void)释放。
 
1)如Kiven是说。
2)可用GetCursorPos()捕捉当前鼠标在屏幕上的位置(x,y)。
var
MPosTp : Tpoint;
begin
GetCursorPos(MPosTp);
MPosTp.x ...
MPosTp.y ...
 
Another_eYes的方法肯定可行,但作起来一定较复杂。
Kiven和Always的方法都有各自的使用范围,因此请将你的目的再叙述清楚一点。
 
我的目地是键盘和Mouse没动作,X分钟后,计算机关机。和屏幕保护差不多....
最好能给个例子....
 
看来你只能用Hook了,具体例子还没有,请等待。
 
我这里有个HOOK的例子,是完全正确的
寄给你了.
 
GetCursorPos和 Timer 同样可以完成这 任务:
Timer 可以每多少时间检测一次 MousePos和KeyPress,如果和上一次一样
则让计数器加1,直到 和预设置相等就关机,否则 计数器清零
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部