[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);
}

posted on 2011-10-25 17:36  飘行天下  阅读(726)  评论(0编辑  收藏  举报

导航