Главная страница
    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.035 c
14-1125141213
alpet
2005-08-27 15:13
2005.09.25
Восстановление видео.


14-1125677489
Ajax
2005-09-02 20:11
2005.09.25
Параметры запуска AVP 5


14-1125306285
CHES
2005-08-29 13:04
2005.09.25
Посоветуйте хороший хостинг


14-1125230779
ArtemESC
2005-08-28 16:06
2005.09.25
"Обновления для вашего компьютера готовы"???


3-1123590653
Русланка
2005-08-09 16:30
2005.09.25
При формировании запроса к Access как узнать





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