Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать программу, которая выдает список запущенных процессов [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 сами найдете или тоже код дать?

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо