Поддерживает ли Process Explorer API или вызов из консоли? - PullRequest
6 голосов
/ 13 октября 2011

Предположим, я установил несколько версий программного обеспечения, некоторые библиотеки DLL зарегистрированы как COM. Например:

.../version1/Application.exe
             normal.dll
             comObject.dll -- register as COM to use
.../version2/Application.exe
             normal.dll
             comObject.dll -- register as COM to use

Как узнать, какой comObject.dll зарегистрирован? (какой путь? В папке "version1" или "version2"?) Ответ: Один из способов сделать это - использовать «Process Explorer», перейти к «Найти | Найти дескриптор или DLL ... », ввести «comObject.dll» и нажать « Поиск ». Тогда путь показывается в списке .

СЕЙЧАС ПРИХОДИТ К МОЕМУ ВОПРОСУ: Если программный пакет огромен с сотнями установленных DLL на основе COM, я не хочу вручную открывать «Peocess Explorer» и искать каждую DLL / OCX / EXE, более того, в результате поиска я не могу скопировать содержимое списка !!

Все, что мне нужно, - это инструмент для запуска, подобный следующей команде, и я могу работать в файле bat.

ProcessExplorer.exe -Find "comObject1.dll" -append "C:\temp\output.txt"
ProcessExplorer.exe -Find "comObject2.dll" -append "C:\temp\output.txt"
ProcessExplorer.exe -Find "comObject3.dll" -append "C:\temp\output.txt"

output.txt может выглядеть так:


Process          PID   Type  Handle or DLL
comObject1.dll    1    DLL   C:\ApplicationExample\Version1\comObject1.dll
comObject2.dll    1    DLL   C:\ApplicationExample\Version1\comObject2.dll
comObject3.dll    1    DLL   C:\ApplicationExample\Version2\comObject3.dll

В приведенном выше примере comObject1.dll и comObject2.dll находятся в папке Version1, в то время как comObject3.dll находится в папке Version2.

1 Ответ

8 голосов
/ 13 октября 2011

Эквивалентами командной строки большого Process Explorer являются ListDlls и Handle . Это, вероятно, то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...