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