Форум: "WinAPI";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
ВнизКак получить идентификаторы всех процессов в ситеме. Найти похожие ветки
← →
Максим (2003-10-03 11:24) [0]Как получить идентификаторы всех процессов в ситеме (W98).
Чтоб в последствии прибить какой-нибудь из них (TerminateProcess).
← →
Игорь Шевченко (2003-10-03 12:15) [1]TOOLHELP
← →
Crowman (2003-10-03 23:58) [2]Увидишь ты не всё, но что-то увидишь :)
--------------------------
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 (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) then begin
GetWindowText(Wnd, buff, sizeof(buff));
ListBox1.Items.Add(inttostr(Wnd) + " - " + StrPas(buff));
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;
ListBox1.ItemIndex := 0;
end;
← →
Guerrillero (2003-10-04 01:05) [3]2 Crowman (03.10.03 23:58)
Вообще-то это для окон, а вопрос касался процессов
← →
Davinchi (2003-10-04 11:29) [4]Получение списка всех процессов будет выглядеть примерно так:
procedure TForm1.Button1Click(Sender: TObject);
var handler:thandle;
data:TProcessEntry32;
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;
return_name:=names;
end;
begin
handler:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);
if process32first(handler,data) then begin
listbox1.Items.add(return_name);
while process32next(handler,data) do
listbox1.Items.add(return_name);
end
else
showmessage("Ошибка получения информации :)");
end;
← →
GH@ST (2003-10-05 10:29) [5]http://www.xakep.ru/post/19059/default.htm
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c