[Win32] Как узнать полный путь до файла по PID ' у процесса (или нендлу)28.11.01 09:25 Число просмотров: 1289 Автор: IgorR Статус: Незарегистрированный пользователь
Все дело в том что не для всех процессов такой подход работает,
например для smss.exe не работает. У этих процессов просто нет Module
так что и хендл не получить. Надо как-то иначе.
А через ToolHelp функции я делал тоже фактически (преимущество то что для 9x и NT совместимо).
bool GetFullPath(DWORD dwPID, TCHAR szFullPath[])
{
bool bRet;
HANDLE hModuleSnap = NULL;
MODULEENTRY32 me32 = {0};
// Take a snapshot of all modules in the specified process.
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID);
if (hModuleSnap == (HANDLE)-1)
return false;
me32.dwSize = sizeof(MODULEENTRY32);
if (Module32First(hModuleSnap, &me32))
{
strcpy(szFullPath,me32.szExePath);
bRet = true;
}
else
bRet = false;
// Do not forget to clean up the snapshot object.
CloseHandle (hModuleSnap);
return bRet;
}
---
[Win32] Как узнать полный путь до файла по PID ' у процесса (или нендлу)03.12.01 08:17 Автор: IgorR Статус: Незарегистрированный пользователь
> Все дело в том что не для всех процессов такой подход > работает, > например для smss.exe не работает. У этих процессов просто > нет Module Как это? А вот в System32 загляни...
А ты под админом входишь? А еще б и дебужные привелегии неплохо бы иметь...
Путей нету только для System и Idle. Последний это вообще отдельный разговор, я по нему вопрос уже поднимал.