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

Вниз

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

 
MakNik ©   (2003-07-04 11:15) [0]

Как узнать какие процессы запущены в системе???


 
NiBL'S   (2003-07-04 11:38) [1]

Вот пример как по полученному списку приложений вырубать все кроме перечисленных в условии, переделай его и получишь то что надо.

Procedure TGeneral.eWindows;
VAR
Wnd,WndNext : hWnd;
buff: ARRAY [0..127] OF Char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO
BEGIN {Не показываем:}
WndNext:=Wnd;
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));
If buff<>"Program Manager"
Then PostMessage(Wnd,WM_Close,0,0);
END;
( WndNext, gw_hWndNext) Вот пример как по полученному списку приложений вырубать все кроме перечисленных в условии, переделай его и получишь то что надо.

Procedure TGeneral.eWindows;
VAR
Wnd,WndNext : hWnd;
buff: ARRAY [0..127] OF Char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO
BEGIN {Не показываем:}
WndNext:=Wnd;
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));
If buff<>"Program Manager"
Then PostMessage(Wnd,WM_Close,0,0);
END;
Wnd := GetWindow(WndNext, gw_hWndNext);
END;
End;


 
Armen   (2003-07-04 13:51) [2]

>NiBL"S (04.07.03 11:38)
Неа. Это не процессы, это окна.

procedure TForm1.Button1Click(Sender: TObject);
var
HSnap: THandle;
ProcEntry: TProcessEntry32;
begin
Memo1.Lines.Clear;
FillChar(ModEntry, Sizeof(ModEntry), #0);
ModEntry.dwSize:= Sizeof(ModEntry);
HSnap:= CreateToolhelp32Snapshot(TH32CS_SNAPProcess,0)
if Process32First(HSnap, ProcEntry) then
begin
repeat
Memo1.Lines.Add(ProcEntry.??????);
( HSnap, ProcEntry) >NiBL"S (04.07.03 11:38)
Неа. Это не процессы, это окна.

procedure TForm1.Button1Click(Sender: TObject);
var
HSnap: THandle;
ProcEntry: TProcessEntry32;
begin
Memo1.Lines.Clear;
FillChar(ModEntry, Sizeof(ModEntry), #0);
ModEntry.dwSize:= Sizeof(ModEntry);
HSnap:= CreateToolhelp32Snapshot(TH32CS_SNAPProcess,0)
if Process32First(HSnap, ProcEntry) then
begin
repeat
Memo1.Lines.Add(ProcEntry.??????);
until not Process32Next(HSnap, ProcEntry);
end;
end;

?????? - заменишь сам.
Может что то неправиьно написал, исправишь. (Под рукой нету Delphi).


 
Armen   (2003-07-04 13:54) [3]

Да, еще:

В конце забыл CloseHandle(HSnap);


 
Armen   (2003-07-04 13:56) [4]

procedure TForm1.Button1Click(Sender: TObject);
var
HSnap: THandle;
ProcEntry: TProcessEntry32;
begin
Memo1.Lines.Clear;
FillChar(ModEntry, Sizeof(ProcEntry), #0);
ModEntry.dwSize:= Sizeof(ProcEntry);
HSnap:= CreateToolhelp32Snapshot(TH32CS_SNAPProcess,0)
if Process32First(HSnap, ProcEntry) then
begin
repeat
( ProcEntry.??????) procedure TForm1.Button1Click(Sender: TObject);
var
HSnap: THandle;
ProcEntry: TProcessEntry32;
begin
Memo1.Lines.Clear;
FillChar(ModEntry, Sizeof(ProcEntry), #0);
ModEntry.dwSize:= Sizeof(ProcEntry);
HSnap:= CreateToolhelp32Snapshot(TH32CS_SNAPProcess,0)
if Process32First(HSnap, ProcEntry) then
begin
repeat
Memo1.Lines.Add(ProcEntry.??????);
until not Process32Next(HSnap, ProcEntry);
CloseHandle(HSnap);
end;
end;


 
MakNik ©   (2003-07-07 18:39) [5]

У меня ругается на строку "ProcEntry: TProcessEntry32;"... Что делать???


 
Spawn ©   (2003-07-07 19:10) [6]

Дак ты модуль то подключи для ToolHelp-а. Правда я щас что то не могу вспомнить его названия((( (попробуй поискать его)


 
MakNik ©   (2003-07-07 19:17) [7]

В том то и дело, что найти его не могу... скините на мыло, если у кого есть...
заранее спасибо!


 
MakNik ©   (2003-07-08 09:36) [8]

Помогите найти модуль для ToolHelp!!!


 
default ©   (2003-07-08 09:50) [9]

uses tlhelp32;
а нашёл я его по маске *t*h*.pas поиска файлов в винде
(сам забыл его точное название)


 
MakNik ©   (2003-07-08 10:02) [10]

А что такое ModEntry?


 
default ©   (2003-07-08 10:22) [11]

в SDK загляни там есть это всё
см. tool help functions


 
MakNik ©   (2003-07-08 10:28) [12]

Нашел хорошую ссылку:
http://web.ict.nsc.ru/~cancel/delphi/tollhlp32.html#Process32First
Спасибо всем за помощь!!


 
MakNik ©   (2003-07-08 12:17) [13]

Под ХР работает, под 2000 работает,... но...
Возникла проблема: Под NT4 не работает... в чем причина???


 
Игорь Шевченко ©   (2003-07-08 12:33) [14]

MakNik © (08.07.03 12:17)

Причина в том, что в NT4 для этих целей нужно использовать psapi


 
MakNik ©   (2003-07-08 12:37) [15]

Что то не получается... расскажите, плз., более подробнее...


 
Игорь Шевченко ©   (2003-07-08 14:40) [16]

MakNik © (08.07.03 12:37)

MSDN - там все подробно рассказано


 
MakNik ©   (2003-07-09 12:06) [17]

А ссылку можно???
Заранее благодарю!


 
Игорь Шевченко ©   (2003-07-09 12:44) [18]

http://msdn.microsoft.com



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

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

Наверх




Память: 0.51 MB
Время: 0.017 c
1-71663
Alex-21
2003-09-07 19:35
2003.09.22
TWebrowser


7-71972
Ozone
2003-07-08 09:53
2003.09.22
Рисование на рабочем столе


1-71607
lex7
2003-09-09 16:52
2003.09.22
программа для создания демонстрашек в виде avi


1-71707
TGrey
2003-09-10 20:10
2003.09.22
Русский текст в консоли


3-71505
Zheks
2003-09-01 11:12
2003.09.22
Поля соответствия