[Tips]:Windows下获得当前Dll的路径

有时候需要拿到当前Dll的名字,网上找了找,在VC6之后,可以使用__ImageBase,简单将其转换为HINSTANCE后用GetModuleFileName可以获得Dll名字。

EXTERN_C IMAGE_DOS_HEADER __ImageBase;

void doSomethingForCurrentDll()
{
/// Get module file name by passing __ImageBase
LPTSTR strDLLPath1 = new TCHAR[_MAX_PATH];
::GetModuleFileName((HINSTANCE)&__ImageBase, strDLLPath1, _MAX_PATH);
}
原文地址:https://www.cnblogs.com/piaoger/p/2224199.html