| Код | procedure NTProcess; // получаем список запущенных процессов var PIDArray: array [0..1023] of DWORD; cb: DWORD; I: Integer; ProcCount: Integer; hMod: HMODULE; hProcess: THandle; ModuleName: string; begin EnumProcesses(@PIDArray, SizeOf(PIDArray), cb); ProcCount := cb div SizeOf(DWORD); for I := 0 to ProcCount - 1 do begin hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PIDArray[I]); if (hProcess <> 0) then begin EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb); SetLength(ModuleName, MAX_PATH); GetModuleFilenameEx(hProcess, hMod, PChar(ModuleName), MAX_PATH); ModuleName := PChar(ModuleName); CloseHandle(hProcess); // ModuleName - Это exe // PIDArray[I] - Это его PID end; end; end;
|
|