Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2010, 22:08   #1
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию Список DLL подключенных к процессу

Здравствуйте не могли бы вы подсказать есть ли какой-то компонент или функция которая может вернуть список dll библиотек подключенных к процессу как например в LordPE?
Horus92 вне форума Ответить с цитированием
Старый 29.06.2010, 23:15   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Код:
uses ..., TlHelp32;
...
var
   snapshot: THandle;
   modules: TModuleEntry32;
begin
  snapshot := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID);
  modules.dwSize := sizeof(TModuleEntry32);
  if Module32First(snapshot, modules) then
    While Module32Next(snapshot, modules) do 
      Form1.Memo1.lines.add(string(modules.szModule));
  CloseHandle(snapshot);
end;
пыщь
JTG вне форума Ответить с цитированием
Старый 30.06.2010, 08:34   #3
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию

Попробовал подставил вместо processid нужный и почему то не выполняется условие if Module32First(snapshot, modules) then.
Horus92 вне форума Ответить с цитированием
Старый 30.06.2010, 08:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Значит неверный PID. У меня по крайней мере работает примерчик.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.06.2010, 12:32   #5
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию

а в windows 7 данный пример работает? я сегодня еще проверю на XP.
Horus92 вне форума Ответить с цитированием
Старый 30.06.2010, 18:14   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

У процесса AVP не показывает
Alter вне форума Ответить с цитированием
Старый 30.06.2010, 19:22   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Винда х64? Если да, то не работает CreateToolhelp32Snapshot
Цитата:
If the specified process is a 64-bit process and the caller is a 32-bit process, this function fails and the last error code is ERROR_PARTIAL_COPY (299).
т.е. обращение к 64-битному процессу тоже должно быть из 64-битного.

Код:
//это покажет текст ошибки.
win32check(longbool(snapshot));
...
if win32check(longbool(Module32First(snapshot, modules)))...
И это, там вместо CloseHandle(snapshot); - CloseToolhelp32Snapshot(snapshot);
API на костылях во всей красе

Касперский, естественно, защищается.
пыщь
JTG вне форума Ответить с цитированием
Старый 30.06.2010, 22:41   #8
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию

Цитата:
Винда х64? Если да, то не работает CreateToolhelp32Snapshot
Нет win7 x86
Ноя проверил в xp работает но проверял на pid которые брал из lordpe а в win 7 получал pid через Getcurrenprocessid но это я еще проверю подскажите пожалуйста как мне вернуть полный путь к подключаемым файлам?
Horus92 вне форума Ответить с цитированием
Старый 30.06.2010, 23:35   #9
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Код:
var buf: array[0..MAX_PATH] of char;
...
  GetModuleFileName(modules.hModule, buf, sizeOf(buf));
...
пыщь
JTG вне форума Ответить с цитированием
Старый 01.07.2010, 09:32   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
У процесса AVP не показывает
Дык (это же антивирь?) он то себя должен защищать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Handle окна по процессу Sensizu Общие вопросы Delphi 9 08.01.2010 14:42
окна, принадлежащие процессу Var17 Win Api 3 04.12.2009 13:21
Вывод количество подключенных к БД Wi1D БД в Delphi 1 12.07.2009 15:55
штоусе dll к процессу и работа с ней Mixasik Общие вопросы Delphi 4 06.06.2009 19:07
Программная проверка наличия подключенных устройств EniSh Общие вопросы Delphi 1 28.06.2008 22:09