如何彻底锁定鼠标? ( 积分: 30 )

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

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
我用以下代码来锁定鼠标,但有一个问题:锁定鼠标后,如果按WIN键弹出开始菜单,鼠标一移进开始菜单就可以自由活动了,根本无法锁定,请问应该如何解决?<br>procedure tform1.lock;<br>var <br>rt: Trect;<br>begin<br>if abletoc=False then<br>begin<br>rt := grp1.BoundsRect;<br>MapWindowPoints(handle, 0, rt, 2);<br>ClipCursor(@rt);<br>end;<br>end;
 
我用以下代码来锁定鼠标,但有一个问题:锁定鼠标后,如果按WIN键弹出开始菜单,鼠标一移进开始菜单就可以自由活动了,根本无法锁定,请问应该如何解决?<br>procedure tform1.lock;<br>var <br>rt: Trect;<br>begin<br>if abletoc=False then<br>begin<br>rt := grp1.BoundsRect;<br>MapWindowPoints(handle, 0, rt, 2);<br>ClipCursor(@rt);<br>end;<br>end;
 
//锁定/解除锁定鼠标<br>// &nbsp;iLockFlag 0解除 1:锁定<br>procedure TForm1.LockMouse(iLockFlag : Integer);<br>var<br> &nbsp;rect : trect;<br> &nbsp;p &nbsp; &nbsp;: tpoint;<br>begin<br> &nbsp;If iLockFlag=0 Then<br> &nbsp; &nbsp;Windows.Clipcursor(0)<br> &nbsp;Else<br> &nbsp;Begin<br> &nbsp; &nbsp;Getcursorpos(p);//取得当前鼠标的位置<br> &nbsp; &nbsp;Rect.top:=p.y;<br> &nbsp; &nbsp;Rect.Left:=p.x;<br> &nbsp; &nbsp;Rect.Right:=p.x;<br> &nbsp; &nbsp;Rect.Bottom:=p.y;<br> &nbsp; &nbsp;Windows.ClipCursor(@Rect);//锁定在当前位置<br> &nbsp;End ; &nbsp;<br>end;
 
无效啊,开始菜单照样破解,而且我不想让鼠标不能动,只想让他被锁定在grp1内
 
我想找到开始菜单的HANDLE让后用Enabledwindow(handle,false)来使它失效或者干脆屏蔽掉WIN键,但都不知道如何实现
 
狠办法:把鼠标接口禁用掉,呵呵
 
那就把win键hook住就行了,具体见http://www.delphibbs.com/delphibbs/dispq.asp?lid=1527866
 
可以把WIN键屏了呀<br>[:)]
 
我就是WIN98阿,但写程序是在XP,所以SystemParametersInfo不起作用,谢谢大家
 

Similar threads

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