Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать полный путь к файлу процесса зная его ID в XP? [D5, Win2k, WinXP]


Dmitryy ©   (2003-02-21 11:23:00) 

???


Laim   (2003-02-22 20:56:00) [1]

Для NT подходит следующее:

USES PSApi,TLHelp32;


FUNCTION GetExeName(id_a:DWORD):string;
VAR
ppe:PProcessEntry32;
ph:THandle;
mh:hmodule;
cm:cardinal;
mn:array[0..max_path] of char;
BEGIN
new(ppe);
ph:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, false, id_a);
IF ph>0 THEN
BEGIN
EnumProcessModules(ph, @mh, 4, cm);
GetModuleFileNameEx(ph, mh, mn, sizeof(mn));
strcopy(ppe^.szExeFile, mn);
CloseHandle(ph);
END;
IF FileExists(ppe^.szExeFile) THEN
BEGIN
result:=ppe^.szExeFile;
END ELSE Result:="Error";
END;


Наверх

Титульная страница Поиск, карта сайта Написать письмо