【发布时间】:2009-07-31 10:18:11
【问题描述】:
我有一个加载“aaa.dll”的应用程序。 “aaa.dll”加载另外两个dll“bbb.dll”和“ccc.dll”。
aaa.dll 是第三方 dll,不是我自己写的。但是bbb.dll和ccc.dll都是我写的。
bbb.dll 和 ccc.dll 有什么方法可以相互通信吗?指向任何资源都会很有帮助。
通信类型:我需要将设置或未设置的状态从 bbb.dll 发送到 ccc.dll。
谢谢大家。 LoadLibrary()/GetProcAddress 成功了。我想确保 bbb.dll 不会加载 ccc.dll 的第二个副本。此外,对于我需要的是进程内通信来说,进程间通信似乎有点过头了。
再次感谢大家。
【问题讨论】:
-
通过使用 GetModuleHandle 函数,您可以检查是否加载了 DLL。再次加载 DLL 不是问题 - 它只是一个 refcounter 增量。也为了共享一种状态而不是创建一个新的导出函数,我只会使用 Event - 它会容易得多。
标签: winapi dll visual-c++