Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Как получить список запущенных приложений   Найти похожие ветки 

 
Pasha L   (2005-07-31 13:21) [0]

Здравствуйте. Вот в чем заключается мой вопрос:
Можно ли в дельфи получить список всех запущенных в данный момент приложений? если да, то каким образом?
и ещё. все ли запущенные приложения отображаются в списке Windows Task Manager >> Processes?


 
Eraser ©   (2005-07-31 13:36) [1]

см. Process32First/Process32Next и CreateToolhelp32Snapshot.


 
Pasha L   (2005-07-31 13:47) [2]

ясно. а каком компоненте содержатся это ф-ции?


 
Eraser ©   (2005-07-31 13:55) [3]

Pasha L   (31.07.05 13:47) [2]

Не в компоненте, в модуле TlHelp32.


 
Pasha L   (2005-07-31 13:57) [4]

спа


 
Eraser ©   (2005-07-31 14:03) [5]

Pasha L   (31.07.05 13:57) [4]

неза


 
TechnoDreamer ©   (2005-08-01 02:49) [6]

Вот недавно использовал как раз:

procedure TForm1.GetProcessList(var sl: TStrings);
var
 pe: TProcessEntry32;
 ph, snap: THandle; //дескрипторы процесса и снимка
 mh: hmodule; //дескриптор модуля
 procs: array[0..$FFF] of dword; //массив для хранения дескрипторов процессов
 count, cm: cardinal; //количество процессов
 i: integer;
 ModName: array[0..max_path] of char; //имя модуля
begin
 sl.Clear;
 if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
 begin //если это Win9x
   snap := CreateToolhelp32Snapshot(th32cs_snapprocess, 0);
   if integer(snap) = -1 then
   begin
     exit;
   end
   else
   begin
     pe.dwSize := sizeof(pe);
     if Process32First(snap, pe) then
       repeat
         sl.Add(string(pe.szExeFile));
       until not Process32Next(snap, pe);
   end;
 end
 else
 begin //Если WinNT/2000/XP
   if not EnumProcesses(@procs, sizeof(procs), count) then
   begin
     exit;
   end;
   for i := 0 to count div 4 - 1 do
   begin
     ph := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,
       false, procs[i]);
     if ph > 0 then
     begin
       EnumProcessModules(ph, @mh, 4, cm);
       GetModuleFileNameEx(ph, mh, ModName, sizeof(ModName));
       sl.Add(string(ModName));
       CloseHandle(ph);
     end;
   end;
 end;
end;


 
Pasha L   (2005-08-02 16:01) [7]

TechnoDreamer ©   (01.08.05 02:49) [6]
А в каком модуле искать EnumProcesses?


 
Pasha L   (2005-08-02 16:38) [8]

И что такое $FFF ?


 
n0name   (2005-08-02 17:00) [9]

>>Pasha L   (02.08.05 16:01) [7]
PsAPI
>>Pasha L   (02.08.05 16:38) [8]
Число от балды. Лучше использовать дин. массивы.


 
Pasha L   (2005-08-02 17:02) [10]

Ясно. Спасибо


 
Pasha L   (2005-08-02 23:16) [11]

У меня ХР. Использую вторую часть программы TechnoDreamer"а. Но что то вылезает ошибка на OpenProcess. Access violation at address 0044DB8F in module Project2.exe. Project2.exe - это моя программа


 
Pasha L   (2005-08-02 23:43) [12]

У меня вопрос. Действует ли process32first и next в видоусе ХР


 
Джо ©   (2005-08-03 01:06) [13]


>  [12] Pasha L   (02.08.05 23:43)
> У меня вопрос. Действует ли process32first и next в видоусе
> ХР

Да.



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

Форум: "WinAPI";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
3-1123833274
kyn66
2005-08-12 11:54
2005.09.25
Отследить отрицательные значения в гриде.


1-1125383823
Rogis
2005-08-30 10:37
2005.09.25
Функция заглючила


2-1124074979
Дырчик
2005-08-15 07:02
2005.09.25
Интересная задачка


2-1124192413
Настя
2005-08-16 15:40
2005.09.25
Запуск консольной программы с параметрами.


6-1117473192
juice
2005-05-30 21:13
2005.09.25
Подводная часть айсберга TCP/IP





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