如果你的共享MFC DLL没有提供DLL_PROCESS_ATTACH的处理函数dllmain,你可以手动添加一个全局变量来模拟DLL_PROCESS_ATTACH的功能。

首先,在你的共享MFC DLL的头文件中声明一个全局变量,例如:

extern "C" BOOL g_bDllLoaded;

然后,在你的共享MFC DLL的源文件中定义这个全局变量,并初始化为FALSE:

BOOL g_bDllLoaded = FALSE;

接下来,你可以在你的共享MFC DLL的某个函数中检查这个全局变量的值,来模拟DLL_PROCESS_ATTACH的处理。例如,在你的共享MFC DLL的初始化函数中,你可以将g_bDllLoaded设置为TRUE,并执行其他必要的初始化操作:

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
    if (ul_reason_for_call == DLL_PROCESS_ATTACH)
    {
        g_bDllLoaded = TRUE;
        // 执行其他初始化操作
    }
    return TRUE;
}

这样,你就可以在你的共享MFC DLL的其他函数中使用g_bDllLoaded变量来判断DLL是否已加载,并根据需要执行相应的操作。

请注意,这只是一种模拟DLL_PROCESS_ATTACH功能的方法,并不是完全等同于使用dllmain函数处理DLL_PROCESS_ATTACH的方式。如果可能的话,建议在你的共享MFC DLL中提供一个正确实现的dllmain函数来处理DLL_PROCESS_ATTACH。

共享MFC dll 没有 dllmain 如何处理 DLL_PROCESS_ATTACH 添加变量

原文地址: http://www.cveoy.top/t/topic/hQXq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录