Если у меня есть исполняемый файл Windows, как я могу узнать, какие DLL он будет загружать?
Я просто говорю о том, какие из них будут загружены статически, а не те, которые он может загружать динамически с чем-то вроде LoadLibrary.
автор: David Norman
8 ответов
есть утилиты, которые сделают это для вас.
в прошлом я использовал инструмент MS (зависит.exe), который пришел с (я думаю) VB.:
https://msdn.microsoft.com/en-us/library/8kche8ah.aspx
и, наверное, другие.
автор: gkrogers
команду dumpbin — это инструмент, который поставляется с VC++.
чтобы узнать, какие DLL будет импортировать программа:
- Открыть Visual Studio
- пункт меню Сервис / Командная строка Visual Studio
- cd в папку, содержащую исполняемый файл
- dumpbin / иждивенцев что угодно.exe
Dump of file whatever.exe File Type: EXECUTABLE IMAGE Image has the following dependencies: AIOUSB.DLL sqlite3.dll wxmsw293u_core_vc_custom.dll wxbase293u_vc_custom.dll KERNEL32.dll ole32.dll OLEAUT32.dll MSVCP90.dll MSVCR90.dll
чтобы узнать, какие функции (и DLL) он будет импортировать, используйте
Динамически загружаемые библиотеки (DLL)
C:> dumpbin /imports whatever.exe
автор: Graeme Perrow
Откройте командную строку и введите следующую команду
tasklist для /М /центр «имя_образа эквалайзер в NetBeans.EXE-файл»
введите вместо netbeans.exe любое имя вашего exe-файла.
автор: LOKESH
просто перейдите в командную строку и введите tasklist /m вы увидите список DLL файлов, используемые программы.
автор: Subek Shakya
Зависимость Walker может помочь вам определить, какие .dll будет загружен.
Источник: askdev.ru
Какие dll использует программа
При попытке обновить «на лету» библиотеку в GAC получил сообщение об ошибке, что у меня нет доступа к библиотеке, ибо она занята другим приложением. Нужно было срочно узнать, что именно «держит» dll-ку.
Чтобы узнать, какой процесс блокирует доступ к библиотеке, можно вопользоваться консольной версией диспетчера задач, который называется tasklist. Для этого нужно в консоли ввести следующую команду:
tasklist /m название_библиотеки.dll
В результате работы будет выведен список тех процессов, которые используют вашу библиотеку. Остаовив их, вы сможете «освободить» библиотеку и сделать то, что хотели – обновить, удалить или еще что.
Пример команды:
tasklist /m Insiders.dll
Результат работы:
На скриншоте видно, что процесс библиотека используется IIS и таймером SharePoint.
Источник: markimarta.ru
Я БЫЛ НЕ ПРАВ? BOOSTER X РАБОТАЕТ? — ПЕРЕПРОВЕРКА ОПТИМИЗАЦИИ WINDOWS 10/11 от IOSIPH!
Как узнать, какие dll использует процесс?
Опираясь на это,хочу получить список dll, которые использует каждый процесс. Я использую stl list, где каждая нода имеет вот такие поля:
struct info < wchar_t name_PID[100]; // the name of process //maybe DWORD not unsigned unsigned num_PID; // the id of the proc char* path;// the way like C:// char par_name[100]; // the name of parent unsigned num_par_PID;// the id of the parent char ownerName[256]=»