Поддерживает ли Process Explorer API или вызов из консольной команды?

Предположим, я установил несколько версий программного обеспечения, некоторые библиотеки 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 зарегистрирован? (какой путь? В папке «версия1» или «версия2»?) Ответ: Один из способов сделать это - использовать «Обозреватель процессов», перейти к «Найти | Найти дескриптор или DLL ... », ввести comObject.dll и нажать кнопку «Поиск». {{ 1}} Затем путь отображается в списке .

ТЕПЕРЬ НАХОДИТСЯ К МОЕМУ ВОПРОСУ: Если программный пакет огромен с сотнями установленных 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.

6
задан milesma 13 October 2011 в 05:57
поделиться