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

Вниз

Список процессов   Найти похожие ветки 

 
OxOTHuK   (2003-01-12 11:59) [0]

Как получить список процессов?


 
MARcoDEN ©   (2003-01-12 12:26) [1]

CreateToolHelp32Snapshot


 
Boriska ©   (2003-01-12 21:28) [2]

Меня этот вопрос тоже интересует, скажите пожалуйста


 
Rouse_ ©   (2003-01-12 21:52) [3]

Вот же блин, в FAQ же есть

procedure TForm1.Button1Click(Sender: TObject);

VAR Wnd : hWnd;
buff: ARRAY [0..127] OF Char;
begin
ListBox1.Clear;
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO BEGIN {Не показываем:}
IF (Wnd <> Application.Handle) AND{-Собственное окно}
IsWindowVisible(Wnd) AND {-Невидимые окна}
(GetWindow(Wnd, gw_Owner) = 0) AND {-Дочернии окна}
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0){-Окна без заголовков}
THEN BEGIN
GetWindowText(Wnd, buff, sizeof(buff));
ListBox1.Items.Add(StrPas(buff));
END;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;
ListBox1.ItemIndex := 0;
end;


Желаю успехов


 
Игорь Шевченко ©   (2003-01-13 10:11) [4]

Rouse_ © (12.01.03 21:52)

Только списком процессов это трудно назвать :-)

С уважением,


 
Sergey Masloff   (2003-01-13 10:56) [5]

Вот мой вариант ;-) Не будет работать в Windows NT 4.0 и ниже. В 95 и выше работает, в 2000, XP и так далее - работает.
Часть идей из советов В.Озерова. Собственно, я записываю процессы и их ID в листбокс для своих целей, то есть именно на это можно не обращать внимание


procedure TfmMain.btProcessInfoClick(Sender: TObject);
var
handler:thandle;
data:TProcessEntry32;
s : String;
function return_name : String;
var
i : byte;
names : String;
begin
names := "";
i := 0;
while data.szExeFile[i] <> "" do begin
names := names + data.szExeFile[i];
inc(i);
end;
Result := names;
end;

begin
ListBox1.Items.Clear();
handler:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
if Process32First(handler,data) then begin
ListBox1.Items.AddObject(return_name,TObject(data.th32ProcessID));
while Process32Next(handler,data) do begin
s := return_name();
ListBox1.Items.AddObject(s,TObject(data.th32ProcessID));
end;
end else
showmessage("Информацию не получили!");
end;



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.015 c
14-87636
ev
2003-02-10 16:32
2003.02.27
kylix 3 и radhat 8


3-87353
Shrek
2003-02-11 12:32
2003.02.27
sql limit offset


14-87654
SergeN
2003-02-10 14:27
2003.02.27
Не понимаю я!


7-87717
}{enon
2002-12-27 19:35
2003.02.27
Работа с файлами . и ..


3-87349
страж
2003-02-11 10:12
2003.02.27
Проблема с SQL SELECT