dll获取自身路径的几种方法

来源:互联网 发布:yum 安装ant 编辑:程序博客网 时间:2024/05/26 07:28

获取模块路径通过GetModuleFileName,关键在于模块句柄的获取,几种方法如下:


一:在dllmain中保存HMODULE


二:通过GetModuleHandle传入dll的名称获取其HMODULE


三:通过函数地址获取其模块句柄

1:HMODULE GetSelfModuleHandle()
{
MEMORY_BASIC_INFORMATION mbi;
return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0) ? (HMODULE)mbi.AllocationBase : NULL);
}

2:GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
            (LPCSTR)&XXX, //可以是任何函数,全局变量等的地址
           &hModule);


四:(HINSTANCE)&__ImageBase



原创粉丝点击