'GetModuleFileNameEx'에 관한 글 1개

[MFC] 프로세스 파일 경로

소스코드

CHAR    sProcessName[MAX_PATH] = {0,};
DWORD   nSize    = sizeof(CHAR)*MAX_PATH;;
DWORD   nLen     = 0;
HANDLE  hProcess = GetCurrentProcess();

ZeroMemory(sProcessName, nSize);
if( QueryFullProcessImageName(hProcess, 0, sProcessName, &nSize) ){
    TRACE("QueryFullProcessImageName : %s\n", sProcessName);
}

ZeroMemory(sProcessName, nSize);
if( (nLen =GetModuleFileName(NULL, sProcessName, sizeof(sProcessName))) > 0 ){
    sProcessName[nLen] = 0;
    TRACE("GetModuleFileName         : %s\n", sProcessName);
}

ZeroMemory(sProcessName, nSize);
if( (nLen =GetModuleFileNameEx(hProcess, NULL, sProcessName, sizeof(sProcessName))) > 0 ){
    sProcessName[nLen] = 0;
    TRACE("GetModuleFileNameEx       : %s\n", sProcessName);
}

ZeroMemory(sProcessName, nSize);
if( (nLen =GetProcessImageFileName(hProcess, sProcessName, sizeof(sProcessName))) > 0 ){
    sProcessName[nLen] = 0;
    TRACE("GetProcessImageFileName   : %s\n", sProcessName);
}

실행결과

QueryFullProcessImageName : D:\My Project\ProcessInfo\Debug\ProcessInfo.exe
GetModuleFileName         : d:\My Project\ProcessInfo\Debug\ProcessInfo.exe
GetModuleFileNameEx       : d:\My Project\ProcessInfo\Debug\ProcessInfo.exe
GetProcessImageFileName   : \Device\HarddiskVolume1\My Project\ProcessInfo\Debug\ProcessInfo.exe
2013/09/24 17:54 2013/09/24 17:54
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다