Поддерживает ли 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 зарегистрирован?(какой путь? в папке "version1" или "version2"?)Ответ: Один из способов сделать это - использовать "Process Explorer", перейти к "Find | Find Handle или 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.