Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизЗная ProcessID получить FileName Найти похожие ветки
← →
Новичок0 (2005-05-07 09:20) [0]Есть более простой вариант, чем перебирать все процессы и сравнивать их PID?
snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, dword(0));
pe32.dwSize := SizeOf(TPROCESSENTRY32);
i:=Process32First(snap, pe32);
i:=Process32Next(snap, pe32);
repeat
if pe32.th32ProcessID=ProcessID then if AnsiLowerCase(ExtractFileName(pe32.szExeFile))="..." then
begin
...
break;
end;
i:=Process32Next(snap, pe32);
until i=false;
CloseHandle(snap);
← →
VMcL © (2005-05-07 12:12) [1]AFAIR, нет.
← →
alpet © (2005-05-07 13:34) [2]Зато цикл можно упростить и сделать чуть более рабочим:
snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, dword(0));
pe32.dwSize := SizeOf(TPROCESSENTRY32);
if Process32First(snap, pe32) then
repeat
if (pe32.th32ProcessID = ProcessID) then
begin
result := LowerCase(ExtractFileName(pe32.szExeFile));
break;
end;
until Process32Next(snap, pe32);
CloseHandle(snap);
Впрочем он и так простой. Вот посмотри в моих сорцах http://www.alpet.hotmail.ru/wgcsrc.zip файлы prcsmap.zip и tlhelpex.pas. Там простенькие классы которые это дело инкапсулируют. Все думаю написать компонент на эту тему, да никак не собирусь.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c