我正在开发一个基于插件架构的程序。所有插件都是 DLL,其中一些可以依赖于其他插件 DLL。我希望能够做到以下几点:
- 在程序启动时,扫描插件文件夹。
- 对于找到的每个插件,检查该插件是否已加载。(可能是,如果先前加载的插件导致它作为依赖项加载)。
- 如果没有,请加载它。
第一步和第三步是微不足道的,但我该怎么做第二步呢?是否有一个 winapi 调用,给定一个 DLL 的文件名,它会告诉我该 DLL 当前是否已加载到当前进程中?(或者也许一个需要文件名和进程句柄的?)
拜托,没有答案说“无论如何都加载它”。我知道这会奏效。我试图避免这种情况。