如何锁定鼠标?(不知道你试过在游戏中锁定鼠标呢?我不知道怎么在'CS'游戏中锁定鼠标,谁能告诉我呢?谢谢大家)(200分)

  • 主题发起人 主题发起人 abondon
  • 开始时间 开始时间
A

abondon

Unregistered / Unconfirmed
GUEST, unregistred user!
如果不在游戏中鼠标很容易的被锁定,可是在游戏中,比如反恐精英这类的游戏,CLIPCUROSR<br>这个涵数就不起作用了。怎么办呢,我好头痛,你们有没有好的办法呢。谢谢你告诉我。<br>我的信箱liangyongqilyq@263.net
 
procedure TForm1.Button1Click(Sender: TObject);<br>Var<br>&nbsp; rtButton2: TRect;<br>Temp:integer;<br>begin<br>&nbsp; rtButton2 := Button2.BoundsRect;<br>&nbsp; MapWindowPoints(handle, 0, rtButton2, 2); // 座标换算<br>&nbsp; ClipCursor(@rtButton2); // 限制滑鼠移动区域<br>SystemParametersInfo(spi_screensaverrunning,1,@temp,0);<br>end;<br><br>或者:<br>procedure lockmouse(lock:boolean);<br>var rt:Trect;<br>&nbsp; &nbsp; p:Tpoint;<br>begin<br>&nbsp; if lock=true then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; GetCursorPos(p);<br>&nbsp; &nbsp; &nbsp; rt:=rect(p.x,p.y,p.x+1,p.y+1);<br>&nbsp; &nbsp; &nbsp; clipcursor(@rt);<br>&nbsp; &nbsp; end else clipcursor(nil);<br>end;//锁鼠标<br>假消息转换<br><br>procedure Timer.Ontimer(Sender:Tobject);<br>begin<br>&nbsp; asm<br>&nbsp; &nbsp; out 60h,0//乱填一个值<br>&nbsp; end;<br>end;<br><br>
 
和汇编语言混合的啊。
 
[:D]游戏中就不知道但我知道在窗体中用clipcursor(rect:prect)这个函数能做到。比如<br>procedure TForm1.Button1Click(Sender:TObject);<br>var<br>p:Tpoint;<br>rect:Trect;<br>begin<br>getcursorpos(p); //获得鼠标指针位置<br>rect:=rect(p.x,p.y,0,0);<br>clipcursor(@rect);<br>end;
 
如果是别的程序就用钩子嘛
 
如何将鼠标锁定在一定的范围内呢?请在Form中放置二个 Button, 然後分别为这两个按钮定义OnClick响应事件如下:<br>// 限制<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>rtButton2: TRect;<br>begin<br>rtButton2 := Button2.BoundsRect;<br>MapWindowPoints(handle, 0, rtButton2, 2); // 座标换算<br>ClipCursor(@rtButton2); // 限制鼠标移动区域<br>end;<br><br>// 还原<br>procedure TForm1.Button2Click(Sender: TObject);<br>var<br>rtScreen: TRect;<br>begin<br>rtScreen := Rect(0, 0, Screen.Width, Screen.Height);<br>ClipCursor(@rtScreen);<br>end; &nbsp;
 
恩,我想想看
 
后退
顶部