1. 개요
DLL 자신의 경로를 얻는 방법을 설명한다.
2. 본문
샘플 코드는 다음과 같다.
1) ATL COM DLL의 경우
TCHAR szPath[MAX_PATH + 1] = {0};
HINSTANCE hInst = _AtlBaseModule.GetModuleInstance();
::GetModuleFileName(hInst, szPath, MAX_PATH);
2) WIN32 DLL의 경우
// Global var to contain DLL module handle
HMODULE g_hDLL = NULL;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hDLL = hModule;
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
void somefunc()
{
MA_CHAR pszLibDirPath[MAX_PATH + 1] = {0};
::GetModuleFileName(g_hDLL, pszLibDirPath, MAX_PATH);
}
IT-개발/winapi 및 MFC
[DLL] (펌) 자신의 경로를 얻는 방법
갱우덩
2018. 2. 23. 09:55
반응형