Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Зная 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 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
8-1109600359
wild_arg
2005-02-28 17:19
2005.06.29
Проигрывание mp3


9-1111377409
Xeno
2005-03-21 06:56
2005.06.29
Как определить ФПС при использовании TGLFullScreenViewer


1-1117622499
Ega23
2005-06-01 14:41
2005.06.29
Динамические массивы - правильно ли я понял help?


3-1116781037
M_Tania
2005-05-22 20:57
2005.06.29
Из FoxPro в SQL


9-1111645986
ninja
2005-03-24 09:33
2005.06.29
интерфейс пользователя в игре