Форум: "Система";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизПроцессы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.013 c