[Tips]: Windows에서 현재 Dll의 경로 가져오기

699 단어 windows
현재 Dll의 이름을 가져와야 할 때가 있습니다. 인터넷에서 찾았습니다. VC6 이후에는 __ImageBase 사용할 수 있습니다. 간단하게 HINSTANCE로 변환한 후 GetModule FileName으로 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);
}

좋은 웹페이지 즐겨찾기