如何获得其他程序内鼠标光标的形状变化?(有惊喜发现)(有程序) 难道没有高手?(28分)

  • 主题发起人 主题发起人 16cy
  • 开始时间 开始时间
1

16cy

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一下:如何获得其他程序内鼠标光标的形状变化?<br><br>如:我用postmessage控制其他程序的鼠标移动,然后想得知这个程序里面鼠标的形状是否变化,如果变化我就要编程作一些事情。<br><br>如何能实现?
 
查下系统API,定时获得鼠标状态,根据变化做处判断即可。<br>参考帖子http://www.delphibbs.com/delphibbs/dispq.asp?lid=374347
 
这个鼠标是用postmessage函数操纵的,是一个虚拟鼠标指针,而程序外面还有一个实际鼠标指针。我写的程序只能获取到实际鼠标指针状态,却不能得到虚拟鼠标指针状态。<br><br>我想问是的如何得到这个虚拟鼠标指针状态。
 
呵呵,这个比较难
 
我写了段程序,能够得到鼠标光标的状态。<br>可是发现在游戏里的鼠标光标的句柄不管变化与否,全是0,也就是说没有办法获取其鼠标变化状态?<br>在游戏以外的鼠标状态变化能准确捕获。<br><br>procedure TfrmMain.Timer2Timer(Sender: TObject);<br>var<br>cursor &nbsp; &nbsp; &nbsp; &nbsp;:TCursorINFO;<br>CurHandle &nbsp; &nbsp; :cardinal;<br>ActiveHandle &nbsp;:cardinal;<br>begin<br> &nbsp;CurHandle := GetCurrentThreadID;<br> &nbsp;ActiveHandle := GetWindowThreadProcessID(hnd, nil);<br> &nbsp;//AttachThreadInput(CurHandle, ActiveHandle, True);<br> &nbsp;cursor.cbSize:=sizeof(cursor);<br> &nbsp;GetCursorInfo(cursor);<br> &nbsp;frmMain.Label31.Caption:=inttostr(cursor.hCursor);<br> &nbsp;frmMain.Label32.Caption:=inttostr(cursor.ptScreenPos.X);<br> &nbsp;frmMain.Label33.Caption:=inttostr(cursor.ptScreenPos.Y);<br> &nbsp;frmMain.Label34.Caption:=inttostr(cursor.flags);<br> &nbsp;frmMain.Label39.Caption:=inttostr(cursor.cbSize);<br>end;
 
另外还有惊喜发现:<br>网络游戏里的鼠标光标变成了隐藏属性。<br>也就是说游戏开发公司把本来的光标隐藏了,换成了自已的鼠标光标,并且连鼠标光标的句柄也换成了0。<br><br>那么如何才能把游戏里面的光标给纠出来呢?请大家帮忙开动一下聪明大脑!
 
哈哈 关注下........好玩的东西
 
看来大富翁真的没有什么人了,每次我提的有点难度的问题都得不么解答,没有什么难度的问题,还没等到别人给出答案我自已就已经解决了,狂晕
 
以前为了玩一个网络游戏想自己写个简单的外挂,因为游戏中鼠标光标移到怪物身上会发生改变,所以最初也是像楼主这样希望截获光标变化的消息,后来发现游戏中一般都是隐藏了系统的光标代之以自己的,要发现变化得要图像比对,真是工程浩大啊。<br><br>PS:程序最后没写完,因为商业外挂出现了,还有脱机的,就用了,懒得写。
 
我也是想写个外挂,可是碰到了上面的难题了。
 
如果是固定游戏,还是有办法的.
 
为什么这么说?<br>如果是固定游戏,还是有办法的.
 
固定游戏的话,根据鼠标样子用fpe之类的工具找到状态地址直接读写就是了。
 
to:白河愁<br>目前好象没有能够找鼠标样子的工具啊,晕哦
 
因为没有固定的实现方法,自然就没有 工具
 
真郁闷,老是没有人能解决
 
后退
顶部