如何得到游戏里对话框中的内容? API C#

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:33:10
有一个游戏,只能得到主窗体句柄 内部控件句柄无法得到
想得到控件内的内容不知道改怎么办?
试了好多天了依然没解决,用Spy++只能看到主窗体句柄
有人说是DX画出来的控件,那也有解决办法吧?
希望各位大虾能帮小弟,可以给酬劳的,具体可以发消息详谈.
API 能用的基本都用了 没什么办法,能提供C#代码的更好,
简单三两句回答的 别说酬劳了,分也不会给的,谢谢.
想要酬劳可以给我发消息详细谈
最好能提供几个简单例子 C#语言的更好
可以提高悬赏

游戏里面的控件都不是实际上的控件,你不可能像用spy++等工具进行捕捉(除非是控件游戏,不过那多是不成熟的产品)
游戏中的控件你可以这样理解,你用C#写个程序,在主窗口上面画一个框,框里面写两个字,把它理解为一个按钮,然后给窗口加入鼠标事件,当鼠标点击时坐标在这个框框上就判断为单击了这个按钮,这就是游戏里面的控件,除了窗口之外没有其它控件了,其实用DX绘图与GDI+绘图的原理是一样的,只是DX更加高效,用这种方法制作虽然麻烦,但是能完全自定义外观,而且能与游戏最大地兼容并节约内存,你说这种控件你能用spy++捕捉到么?
不过即使使用这种方法,游戏总还是会在内存中储存相应的数据的,只要对内存下手就可以了,如果你想获得游戏内存中的数据,需要访问进程内存,就需要使用诸如openprocess、readprocessmemory等的API了,内存地址你通过可以反汇编,也可以等游戏运行时用内存搜索工具进行搜索,拿到内存地址一切就好办了

如果想得到某游戏的文本内容的话 只能用16进制查看器 比如说某个电脑游戏 你没有源代码 不可能看程序结构 还想找到其文本内容(就是游戏中的对话等等) 就只能用16进制查看器查看你认为最有可能出现对话文本的文件(因为游戏中的字体多为字库即图片,文本为字库编码多为16进制以引用字库)按照游戏语言选定查看器的编码类型例日文 选japan等。。。来找到游戏中的文本 这种方法比较土也属于游戏汉化基本方法。。。建议用Uedit32工具进行查看 详情请参见游戏汉化
。。。包括对话框的图片也基本都是压缩的例如(星际争霸已经有了完美的文件提取工具) 这就是说必须知道其压缩方式 或者试出来- =才能将其压缩的文件全盘读入,包括你自己写2进制读取的话不知道编码也不可能编译成图片或者字库。。。截取内存的方式仅限于英文游戏 有的日本游戏不是将所有字库都读入内存的只是将相应的用到的图片读入字库

希望我说的你能懂。。。