【问题标题】:Does Process Explorer support API or call from Console Command?Process Explorer 是否支持 API 或从控制台命令调用?
【发布时间】:2011-12-06 16:36:38
【问题描述】:

假设我安装了多个版本的软件,其中一些 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 or DLL...”,输入“comObject.dll”并点击“搜索”按钮。 然后路径显示在列表中

现在我的问题是:如果一个软件包很大并且安装了数百个基于 COM 的 DLL,我不想手动打开“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 文件夹。

【问题讨论】:

    标签: winapi dll com find process-explorer


    【解决方案1】:

    强大的 Process Explorer 的命令行等效项是 ListDllsHandle。这可能就是您所需要的。

    【讨论】:

    • 这正是我想要的。谢谢伊兰!
    • @eran 有没有这样的工具来获取有关进程命令行的信息,我想要命令行工具来提取进程正在运行的命令。
    • 我发现的唯一缺点是 handle.exe 没有列出 svchost 句柄,而 Process Explorer 有。我知道这个答案已经 9 岁了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多