![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать программу, которая выдает список запущенных процессов [D6, Win95/98]
Алексей Ч. © (2003-01-11 02:09:00)Ребята помогите. Очень надо. Как сделать програму, которая отслеживает запущенные процессы и выгружает нужный.
linco (2003-01-28 10:19:00) [1]Предыдущий ответ не совсем точен. (вернее совсем не точен). :)) Вопрос состоит в том, чтобы показать поцессы, а не окна. Процессов заметьте гораздо больше. :))
Используйте функцию CreateToolhelp32Snapshot там с различными параметрами делается слепок системы, на предмет процессов, потоков и т.п. Куча информации. Правда формат сложноват, но я думяю вы разбеоретесь (в help все написано).
С уважением.
Rouse_ (2003-01-11 02:18:00) [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 (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;
По TerminateProcess сами найдете или тоже код дать?
Желаю успехов