DLL与EXE共享数据的问题(20分)

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
采用内存映像的方式共享数据,EXE中建立好映像文件并写入数据后如何通知DLL去读取映像文件的内容呢?我只知道当两个EXE文件共享时可以发送自定义消息
 
简要说一下你所说的共享数据。流程是如何的。这对技术实现有很大关系。<br><br>一般都是主程序来管理内存。主程序申请内存,传给DLL。DLL处理,返回。EXE 再处理,Free
 
我就是这样的阿,问题是我不知道如何传给DLL
 
传指针就行了<br>用了再释放
 
指针也不知道如何传
 
那把 映像文件 句柄传给 DLL .DLL 读写就是了.
 
各位高手可能没明白我的意思,我的问题在于:我不知道如何向DLL传送任何数据,如果是两个EXE之间交换数据的话,我用第一个EXE建立好内存映像,然后写入数据,然后用sendmessage向第二个EXE发送一个自定义的消息,第二个EXE收到消息后就读取内存映像的内容,但如果要接受数据的是一个DLL就不能发送消息了,因为不知道句柄。因此,上面各位高手提出的传指针、句柄我都不知道该如何传
 
請問如果有個EXE,裡面有個procedure或function,這個EXE可以調用一個A.dll,這個A.dll可不可以調用EXE裡的procedure或function?
 
可以调用,但是前提是你要Exe中的过程或者函数以类的方式传送。例如在Exe中声明一个类,里面包括你在Dll中的函数与过程,不过要声明成虚函数,然后在写一个类从这个类继承下来,并实现这些函数。然后把虚类传送到Dll中。在Dll中就可以调用这些虚的函数与过程了。
 
多謝指點!請問有沒有這方面的實例啊?
 
刚学了学 MouseHook (也是我第一个 Hook)<br><br>问题是 用 copyData 没有问题,而用 内存映象就有问题,不明白呀<br><br>你的问题,你可以每写入数据就调用 dll 中的函数,这个函数也就是读数据,不就可以了吗?
 
楼主一定要DLL自己去取数据么?EXE写完数据,再调用DLL中的某个方法去读不是挺好的么?还有,可以在DLL中写一个这么个方法,就是一旦运行这个方法,它就不会停,一直监视这个内存映象,一旦有数据就取出来。
 
多人接受答案了。
 
后退
顶部