读书人

找不到句柄如何模拟点击其他程序的按

发布时间: 2012-03-25 20:55:16 作者: rapoo

找不到句柄,怎么模拟点击其他程序的按钮。
我要模拟点击其他程序的一个按钮,但是找不到句柄。用spy++看看,那个程序就是一个整体,只能看到整个窗体的句柄,类名是QWidget,EnumChildWindows枚举也不行。
模拟点击他还有什么方法吗?按钮位置不固定,所以移动鼠标点击也不现实。
请问有哪些方法?最好给点资料。

[解决办法]
那个程序就是一个整体,只能看到整个窗体的句柄;这个就说明按钮其实是张图片,很多游戏就是这样的;如果不注入或Hook,基本上,只有移动鼠标点击;按钮位置不固定,那么需要图像匹配去找位置(这可能很有难度)。
所以,用类似外挂的方法,注入后,直接去调用对应的按钮处理函数吧...
[解决办法]
direct ui形式的界面都是这样的,因为他们并不是一个真正的windows窗口。要么就是像楼上说的注入代码进去直接调用响应函数,但是这么做非常麻烦,需要找到响应函数的位置,参数等需要强大的汇编功底。

如果仅仅是界面放在那不动就是点击的话可以事先找好位置,然后模拟鼠标单击事件就可以了。

你可以看一下按键精灵,它还支持图像比对。
[解决办法]
找不到,说明他button搞不好就是自绘.不是win32的button. 只好模拟鼠标点击了. 向窗体发送 click消息

[解决办法]
你不用自己把鼠标放在上面,可以直接程序控制嘛。

另外,YY是可以按键去抢麦的吧。。。记得是F2
[解决办法]
只要能整个窗体的句柄,你就直接对这个窗口句柄发送鼠标消息就OK了,只要用spy++找到对坐标就行了,就像游戏外挂中的简单做法,就是模拟按键,很多游戏都只能得到主窗口句柄,但是却不能获得输入框,登陆按钮的句柄,因为它们本身就不是一个窗口.
不过现在很多游戏都屏蔽掉按键消息了,使用消息已经很难做外挂辅助了.
不知道楼主想用来做什么
[解决办法]
宏录制,操作完了重放。

读书人网 >VC/MFC

热点推荐