首页 > 解决方案 > 如何在 C++ 中从 .dll 中导入和导出 HINSTANCE?

问题描述

我正在尝试获取HINSTANCEa .dll,但出现此错误:

错误 LNK2019:函数中引用了无法解析的外部符号“__declspec(dllimport) struct HINSTANCE__ * m_instance”(__imp_?m_instance@@3PEAUHINSTANCE__@@EA)...

这是的代码.dll

#include <Windows.h>

__declspec(dllexport) HINSTANCE m_instance;

BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID)
{
    switch (ul_reason_for_call) {
    case DLL_PROCESS_ATTACH:
        m_instance = (HINSTANCE)hModule;
    }

    return TRUE;
}

这是应用程序的代码:

__declspec(dllimport) HINSTANCE m_instance;

// use it for whatev

总而言之,我需要一种方法将HINSTANCEfrom my.dll放入 my .exe.

标签: winapivisual-c++dllimportdllexport

解决方案


总而言之,我需要一种方法将HINSTANCEfrom my.dll放入 my .exe.

但为什么???一旦 将.exe加载.dll到其内存中,.exe 就已经可以从或.dllHINSTANCE返回值访问。因此,永远不需要自己的导出。LoadLibrary/Ex()GetModuleHandle().dllHINSTANCE


推荐阅读