假設我安裝了一個軟件的多個版本,一些DLL被註冊爲COM。 例如:Process Explorer是否支持來自控制檯命令的API或調用?
.../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」?) 答案:這樣做的一種方法是使用「Process Explorer」,轉到「Find | Find Handle or DLL ...」輸入「comObject.dll」,然後單擊「搜索」按鈕。 然後路徑顯示在列表。
現在談到我的問題:如果一個軟件包是巨大的數百安裝的基於COM的DLL,我不想手動打開「資源管理器Peocess」和搜索每個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是從版本1的文件夾,而 是comObject3.dll從版本2文件夾。
這正是我想要的。謝謝eran! – milesma
@eran是否有任何這樣的工具來獲取有關進程命令行的信息,我想讓命令行工具提取進程正在運行的命令。 – user3462473