Главная страница
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.042 c
14-71857
Cyber Chaynik
2003-09-01 13:19
2003.09.22
Как я провёл лето (Сочинение)


3-71519
Langolier
2003-08-30 00:01
2003.09.22
Фильтр записей в Detail таблице...


3-71546
Hooch
2003-08-29 13:59
2003.09.22
TAdoDataSet


3-71561
AlexWeb
2003-08-29 10:57
2003.09.22
Можно ли подключить базу IB при помощи ADO?


3-71564
Relaxxx
2003-08-27 16:52
2003.09.22
Как мне округлить значение до сотых???