Главная страница
    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
14-71836
Yakudza
2003-09-01 14:16
2003.09.22
Легенда о мудром хосте


1-71600
qwerty2
2003-09-09 18:01
2003.09.22
ActiveX и передача значений функции


3-71473
slap
2003-09-02 08:17
2003.09.22
МЕМО в базу MSSQL


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


7-71989
R4D][
2003-07-09 19:24
2003.09.22
GetMappedFileName





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский