Windows 的动态链接库(DLL)中获得dll自身的名称

很简单,只需在DllMain中使用GetModuleFileName即可.
代码大致如下:
#define STR_SZ 256
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{

 TCHAR str[STR_SZ]={0};

    switch( fdwReason )
    {
        case DLL_PROCESS_ATTACH:
            GetModuleFileName(hinstDLL, str, STR_SZ);   // hinstDLL就是本DLL的句柄
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
然后,str[STR_SZ]中就保存有类似"d:/XXX/xxx.dll",自己从中提取出xxx.dll就行了!
 

你可能感兴趣的:(Windows 的动态链接库(DLL)中获得dll自身的名称)