delphi 如何实时读取 内存地址的某值
就像CE一样,游戏中改变了某值,delphi程序中也跟着变。现在已经可以正常读取内存中的值了,但是如何实现实时?http://zhidao.baidu.com/quest...
就像CE一样,游戏中改变了某值 ,delphi程序中也跟着变。
现在已经可以正常读取内存中的值了,但是如何实现实时?
http://zhidao.baidu.com/question/304844400.html
采纳后这个百分问题一并给分了。 展开
现在已经可以正常读取内存中的值了,但是如何实现实时?
http://zhidao.baidu.com/question/304844400.html
采纳后这个百分问题一并给分了。 展开
3个回答
展开全部
这个有两种方式来操作
方式一:笨点的,在你的DELPHI程序里加个线程,不停的重复去读那个内存值,自然就和游戏中那个地址值同步了。
方式二:做个DLL远程注入到那个游戏中。dll里面建个线程去读内存地址,或不用DLL,直接注入代码,因为注入了,代码是运行在游戏内部的,这样对比到值不同了,直接向你Delphi程序发窗口消息告诉我值变了,或其他方式,因为dll代码是你自己可以控制的,这种的优点是让游戏主动告诉你我值变了。
具体怎么注入自己的代码到另一程序里可以参考我的空间里写的
http://hi.baidu.com/kysxiaoh/blog/item/72017a1d1c0bc105403417e5.html
方式一:笨点的,在你的DELPHI程序里加个线程,不停的重复去读那个内存值,自然就和游戏中那个地址值同步了。
方式二:做个DLL远程注入到那个游戏中。dll里面建个线程去读内存地址,或不用DLL,直接注入代码,因为注入了,代码是运行在游戏内部的,这样对比到值不同了,直接向你Delphi程序发窗口消息告诉我值变了,或其他方式,因为dll代码是你自己可以控制的,这种的优点是让游戏主动告诉你我值变了。
具体怎么注入自己的代码到另一程序里可以参考我的空间里写的
http://hi.baidu.com/kysxiaoh/blog/item/72017a1d1c0bc105403417e5.html
展开全部
那个问题不是回答了么?读到了要实时显示不简单,CreateThread创建一个线程,线程中的回调函数写你读取内存值的方法,读完后直接PostMessage一个你自己定义的消息到要显示的窗体(值可以直接放到wParam或者lParam中)。显示的窗体加个消息处理函数,处理你自定义的消息,然后显示到窗体上就行了。
像楼上的,确实是要考虑跨进程问题,因为很多消息是不可以跨进程发送的。跨进程消息不想自己做内存映射文件的话就别用自定义消息,而改用WM_COPYDATA消息,查下MSDN就知道怎么用了。当然也可以用SendMessage调用WM_SETTEXT来进行进程间发送数据,此时窗体句柄用一个Edit框的句柄就行了。
像楼上的,确实是要考虑跨进程问题,因为很多消息是不可以跨进程发送的。跨进程消息不想自己做内存映射文件的话就别用自定义消息,而改用WM_COPYDATA消息,查下MSDN就知道怎么用了。当然也可以用SendMessage调用WM_SETTEXT来进行进程间发送数据,此时窗体句柄用一个Edit框的句柄就行了。
追问
能加下qq吗 1278222722
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实时应该是不可能的了,系统负荷不起,可能只有调高刷新频率了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询