如何锁定鼠标,不是把鼠标限制在一个区域(50分)

  • 主题发起人 主题发起人 vikyshen
  • 开始时间 开始时间
V

vikyshen

Unregistered / Unconfirmed
GUEST, unregistred user!
如何锁定鼠标,不是把鼠标限制在一个区域,而是鼠标在那,就被锁定在那,适合所有<br>windwos版本<br>如果回答出下面的问题一样给分:<br>&nbsp; 在win2000里怎么调用锁定计算机功能啊
 
很简单,下面给出一个例子:<br><br><br>procedure Tform1.limitmouse(con:trect);<br>begin<br>&nbsp; &nbsp; ClipCursor(@con); // 限制鼠标移动区域<br>end;<br><br>procedure Tform1.releasemouse;<br>var<br>&nbsp; rtScreen: TRect;<br>begin<br>&nbsp; rtScreen := Rect(0, 0, Screen.Width, Screen.Height);<br>&nbsp; ClipCursor(@rtScreen);<br>end;<br><br>procedure TForm1.FormActivate(Sender: TObject);<br>var<br>&nbsp; con:trect;<br>begin<br>&nbsp; con:=form1.BoundsRect;<br>&nbsp; con.Left:=left;<br>&nbsp; con.Top:=top;<br>&nbsp; limitmouse(con); &nbsp; //限制鼠标<br>end;<br><br>
 
这和将鼠标限制在一个范围之内一样啊如下:<br>var r:TRect;<br>begin<br>&nbsp; &nbsp;r:=Rect(0,0,0,0);<br>&nbsp; &nbsp;ClipCursor(@r);<br>end;<br><br>this is all:)
 
将这个范围无限缩小为一个点不就OK了吗?[:D]
 
我以为是什么问题,这和限制鼠标在一个范围之内有啥区别。<br>你那WIN2000下锁定计算机是什么意思,说明白一点。<br>
 
锁定计算机就是:在win2000里不是有个锁定计算机的功能吗,按ctrl+alt+del,就有这个<br>功能选拉,我要用程序调用<br>还有你们那把鼠标限制在一个范围,在把范围设置成无限小,这时鼠标不是会定在你那<br>限制的地方吗,我要的是鼠标在那个地方就定在那个地方
 
<br>这句话可以实现:<br>Var<br>&nbsp; &nbsp;temp:integer;<br><br>&nbsp; &nbsp; SystemParametersInfo(Spi_screensaverrunning,1,@temp,0);<br><br>这句话解除:<br>Var<br>&nbsp; &nbsp;temp:integer;<br><br>&nbsp; &nbsp;SystemParametersInfo(spi_screensaverrunning,0,@temp,0);<br>
 
function My_CurLock(ileft, itop, iright, idown: integer): Boolean; //鼠标锁定<br>var<br>&nbsp; aRect: TRect;<br>begin<br>&nbsp; aRect := Rect(ileft, itop, iright, idown);<br>&nbsp; Result := ClipCursor(@aRect);<br>end;<br>先取得当前位置<br>  VAR P:TPOINT;<br>   BEGIN<br>    GETCURSORPOS(P);<br>    POP1.POPOP(P.X,P.Y);<br>&nbsp; &nbsp; &nbsp; END;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br><br>function My_CurUNLock: Boolean; //鼠标解锁<br>begin<br>&nbsp; Result := ClipCursor(nil);<br>end;
 
同意用getcursorpos(p),然后clipcursor(p.x,p.y,p.x,p.y)
 
隐藏Mouse的指针<br>ShowCursor(0) ;<br><br>int ShowCursor(<br><br>&nbsp; &nbsp; BOOL bShow // cursor visibility flag &nbsp;<br>&nbsp; &nbsp;);
 
baidie的方法很简便
 
不停的调用SetCursorPos
 
获得当前鼠标指针位置,再进行限制
 

Similar threads

回复
0
查看
876
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
后退
顶部