![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PID ы всех процессов системы [D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
mcs © (2002-06-22 22:35:00)Уважаемые Мастера!
Как получить PID"ы всех процессов системы,
зная их HANDLES и\или CAPTIONS? Если можно
с примером.
MBo (2002-06-25 12:50:00) [1]>Torry
uses ...tlhelp32
Torry (2002-06-25 12:38:00) [2]А уточни что такое:
pe32 : TPROCESSENTRY32
mcs (2002-06-24 17:01:00) [3]Thanks
crazy progman (2002-06-24 15:48:00) [4]Это для циклического получения всех PID"ов и имен исполняемых модулей в системе.
procedure TForm1.Button1Click(Sender: TObject);
var
snap : THandle;
pe32 : TPROCESSENTRY32;
i: boolean;
begin
ListBox1.Clear;
snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, dword(0));
pe32.dwSize := SizeOf(TPROCESSENTRY32);
i:=Process32First(snap, pe32);
i:=Process32Next(snap, pe32);
repeat
listbox1.Items.Add(pe32.szExeFile);
listbox2.Items.Add(IntToStr(pe32.th32ProcessID));
i:=Process32Next(snap, pe32);
until i=false;
CloseHandle(snap);
end;
Это для определения хендла окна по его caption.
FindWindow(lpClassName: PChar, lpWindowName: PChar): THANDLE;
Это для определения PID"а приложения похендлу окна
GetWindowThreadProcessID(
hwnd, //хендл окна
@ProcessID //переменная в которую
//функция PID возвратит
);