프로세스에 로드된 모든 DLL 보기

CuveDev | 2009. 2. 6. 09:04 | 큐브씨

현재 프로세스에 Attach된 DLL을 볼 때 유용합니다.
MSDN에 있는 코드죠. 은근히 유용하게 쓰입니다.


void PrintModules()
{
    HMODULE hMods[1024];
    DWORD cbNeeded;
    unsigned int i;	

    // Get a list of all the modules in this process.
    if(EnumProcessModules(GetCurrentProcess(), hMods,
		sizeof(hMods), &cbNeeded))
    {
        for (i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
        {
            TCHAR szModName[MAX_PATH];
			
            // Get the full path to the module's file.
            if (GetModuleFileNameEx(GetCurrentProcess(),
				hMods[i], szModName,
				sizeof(szModName) / sizeof(TCHAR)))
            {
                // Print the module name and handle value.
                TRACE(_T("\t%s (0x%08X)\n"),
					szModName, hMods[i]);
            }
        }
    }
}