Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
1-71588
Вован
2003-09-09 13:15
2003.09.22
Можно ли в TItemMenu у которого есть ImageIndex > -1 вывести


4-71995
__Ed__
2003-07-17 19:33
2003.09.22
Как отловить момент создания нового окна?


3-71552
ddenis
2003-08-29 13:55
2003.09.22
Многопоточное приложение для работы с БД


6-71787
rex
2003-07-21 13:04
2003.09.22
Ошибка при использовнии IntraWeb


1-71677
AlexDBases
2003-09-11 13:32
2003.09.22
Insert bitmap to richedit (TrxRichEdit)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский