请各位帮忙,DLL 如何把数据传给 EXE?? EXE 用hook 把DLL 在放到应用程序里,然后DLL 取得数据,数据量可以不小。请问如何实现? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看来你的DLL应该与你的EXE不在同一进程(否则不需要使用Hook),这样就需要使用进程间通信手段,我比较喜欢用WM_COPYDATA消息、映象文件、管道、进程外COM组件这几种方法。如果你只是要把DLL获取的数据传递给EXE,建议用WM_COPYDATA或单向管道。它们用起来比较简单,不过都要把数据组织成线性(流)方式,然后把整个数据流发送给EXE,EXE中再恢复出来。其中用WM_COPYDATA最容易,但需要EXE中有消息循环。 谢谢plainsong我去试一下,晚上给分 啊?没看到是hook,那一般的指针不行。需要把数据放在共享段里才能用指针。用映射文件也行。 推荐两种方式1、共享数据段#pragma data_seg("Shared")BYTE buffer[1024];#pragma data_seg()#pragma comment(linker, "/Section:Shared,rws")2、传递指针,直接读取使用ReadProcessMemory、WriteProcessMemory是可以读写其他进程的内存的例:WriteProcessMemory(hProcess, buffer, (LPVOID)(LPCTSTR)m_strName, 256, NULL);这两种方式比较简单,直接读写内存 mfc 如何设置光标的位置 如何实现弹出的Messagebox的优先级最高 OnPaint动态化图,弱弱的问 请问怎么在View中创建和显示控件呢? 有没有办法改变向导自动生成的框架颜色—— 如何在ownerdraw的button中实现bs_multiline的效果 急用:怎么给图形编辑器添加com组件 为什么vc的debug版本不行,release版本可以通过 如何在另外一台机器注册C++ Builder开发的.ocx控件。 如何将自己的程序设置进系统服务列表中,而且也可以设置自运运行或手动运行,也可禁用等。 请各位大哥大姐们帮帮小弟吧,小弟现在很急!!! 如何用程序改变分隔窗口的大小
#pragma data_seg("Shared")
BYTE buffer[1024];
#pragma data_seg()
#pragma comment(linker, "/Section:Shared,rws")2、传递指针,直接读取
使用ReadProcessMemory、WriteProcessMemory是可以读写其他进程的内存的
例:WriteProcessMemory(hProcess, buffer, (LPVOID)(LPCTSTR)m_strName, 256, NULL);这两种方式比较简单,直接读写内存