Список процессов в Windows

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Список процессов в Windows

Сообщение bloodlines » 14.01.2010 17:50:19

Подскажите пожалуйста, как можно получить список запущенных процессов в WinXP 32? И как "убить" процесс зная его имя?
Аватара пользователя
bloodlines
постоялец
 
Сообщения: 100
Зарегистрирован: 05.11.2008 11:26:19

Re: Список процессов в Windows

Сообщение modjo » 14.01.2010 17:54:10

Как раз сегодня встретил: http://www.webdelphi.ru/2010/01/rabota- ... psapi-pas/
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Список процессов в Windows

Сообщение Padre_Mortius » 14.01.2010 20:48:53

Можно так
Код: Выделить всё
uses ..., JwaTlHelp32;

....

var

   c1, c2:Cardinal;

   pe, pe1:TProcessEntry32W;

   Node, Node1: TTreeNode;

begin

   c1:=CreateToolHelp32Snapshot(TH32CS_SnapAll,0);

   if c1=-1 then

   begin

     ShowMessage('Error');

     Close;

   end;

   pe.dwSize:=sizeof(pe);

   Node := TreeView1.Items.AddFirst(nil, 'Process');

   if Process32FirstW(c1,pe) then

   repeat

     Node1 := TreeView1.Items.Add(Node, pe.szExeFile);

     if pe.cntThreads<>0 then

     begin

       c2 := CreateToolHelp32Snapshot(TH32CS_SnapAll,pe.th32ProcessID);

       if c1<>-1 then

       begin

         pe1.dwSize := SizeOf(pe1);

         repeat
         

           TreeView1.Items.AddChild(Node1, pe1.szExeFile);

         until not Process32NextW(c2, pe1);

       end;

     end;

   until not Process32NextW(c1,pe);

   CloseHandle(c1);

end;
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

Рейтинг@Mail.ru