DLL和EXE的互相调用(100分)

  • 主题发起人 主题发起人 hongsen
  • 开始时间 开始时间
H

hongsen

Unregistered / Unconfirmed
GUEST, unregistred user!
假定有这样的情况:
1)EXE调用DLL提供的功能
2)DLL调用EXE提供的功能

应该如何定义,如何声明,如何使用uses语句?
 
DLL没有自己的堆栈拉,很多东西很难做
 
一样的,exports要被调用的函数就可以了
 
好象只有EXE引用DLL吧?能反向引用吗?
 
exe call dll,easy!
dll call exe ,don't know
 
dll 也可以调用 exe export出来的函数,GetModuleHandle得到exe装入地址,然后GetProcAddress得到exe的函数入口
另外你也可以把exe的函数地址通过调用dll函数,把自己的入口地址告诉dll,这个就叫做“回调”了
 
回调函数,是用得很多的方法。

原理就是像Pipi说的,把函数指针告诉DLL, DLL就可以随时调用了。

具体例子可以看看WinAPI。
 
对,就是回调函数。其实原理也很简单,就是利用函数指针。
 
agree
你也可以在dll中调用带参数的exe

 
EXE也可以导出函数,但是改文件名后好象就不灵活。
 
把Dll和Exe都做成COM对象,想怎么调用都可以。
 
我做过exe调用exe的dll输出。
其实你只要把exe和dll理解成一样(虽然有一点点不一样)的东西就可以了
都可以export,都可以LoadLibrary,也可以静态连接
 
一个dll中有两个窗体,如何在一个上调用另一个?请大师指教。
 
后退
顶部