Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.037 c
8-1110026097
Tirex
2005-03-05 15:34
2005.06.29
мерцание графики при включенном стиле XP


3-1115878478
kyn66
2005-05-12 10:14
2005.06.29
Число десятичных знаков для поля в таблице Access?


1-1117620335
PhAn
2005-06-01 14:05
2005.06.29
Другой IntToStr


1-1118264735
Новичок :)
2005-06-09 01:05
2005.06.29
Обработка собития формы !!!


9-1111320863
Toxic
2005-03-20 15:14
2005.06.29
Анализ поверхности





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский