现有一程序 a.exe
1.
用FindWindow无法找到其主窗口句柄,但 spy++可以里可以看到其句柄。难道说 spy++里不是用这个API来获取的?不会吧!或者是a.exe做了其它的什么手脚使我无法用findwindow来获取它的句柄。(注,我调用时传的参数正确,并且getlasserror显示已经成功执行了)2.
我用其它方法终于获取到它的句柄了,并且与 spy++里的一致,但是无法用GetDC获取到它窗口的DC,怎么办? 注,它的窗口不接收任何消息? 怎么办?
1.
用FindWindow无法找到其主窗口句柄,但 spy++可以里可以看到其句柄。难道说 spy++里不是用这个API来获取的?不会吧!或者是a.exe做了其它的什么手脚使我无法用findwindow来获取它的句柄。(注,我调用时传的参数正确,并且getlasserror显示已经成功执行了)2.
我用其它方法终于获取到它的句柄了,并且与 spy++里的一致,但是无法用GetDC获取到它窗口的DC,怎么办? 注,它的窗口不接收任何消息? 怎么办?
我不想修改游戏内存数据,也不打算截包分析。打算模拟输入。
thank u.
我是这样获取它的句柄的,a.exe->PID->handle。 虽然获取到它的窗口句柄了,但是感觉意义不是太大,目前只能获取它在桌面上的位置等信息,无法获取它的DC,也就意味着不好直接获取它的画面。万不得已得保证它在z-order最前面时获取屏幕BMP后提取出它窗口的BMP了。晕,太影响用户使用了,还要保持窗口在最上面。求更好的方法。
另外,窗口已经屏蔽了FindWindow,EnumWindow,游戏设计者会傻到能对它发消息吗!
我分析,它界面是画上去的。并且不能对它主窗口 postmessage 等。或许任何与它窗口句柄相关的API都是用不上的。。
我要是想获取到它的界面元素,必须先得到它的界面位图吧,然后我用算法来判断该keydown对应的方向键。