2012-02-23 5 views
1

У меня есть собственная библиотека custom.dll (C++, Windows), которая зависит от: zlib.dll, iconv.dll и т. Д. Пользователь custom.dll загружается custom.exe.Найти зависимые модули dll

Есть ли способ в C++/WinAPI найти список модулей custom.dll зависит от времени выполнения?

Существует функция EnumProcessModules, которая работает для процесса.

Есть ли что-то для динамической библиотеки, загруженной процессом? В качестве примера, утилита dependecy walker, плагин fileInfo корректно отображает эту информацию.

+0

Посмотрите на [Программно поиск зависимостей (C#)] http://stackoverflow.com/questions/450039/how-to-programmatically-get-dll-dependencies. Это qn. для C#, но в ответе есть полезные ссылки. – PermanentGuest

+0

Конечно, используйте EnumProcessModules(). Дважды, до и после вас LoadLibrary() DLL. Разница, вероятно, в том, что вас интересует. Очень сложно понять суть этого. –

+0

@HansPassant: Это пропускает общие зависимости. Например. 'Kernel32.DLL' не появится. – MSalters

ответ

3

Взгляните на ходу зависимости. Он делает именно то, о чем вы просите. http://www.dependencywalker.com

+1

Денис Соловьев просит решение во время работы, но +1, это действительно крутая утилита, я использовал ее несколько лет. – rkosegi

+0

Спасибо, но мне нужно это сделать в моем исходном коде. –

+0

Вы пытаетесь найти динамические нагрузки? например: LoadLibrary? зависит от этого ... В противном случае я не читал полностью ... – JimR

Смежные вопросы