![如何确定哪个进程或服务正在使用 COM Surrogate](https://linux22.com/image/1499807/%E5%A6%82%E4%BD%95%E7%A1%AE%E5%AE%9A%E5%93%AA%E4%B8%AA%E8%BF%9B%E7%A8%8B%E6%88%96%E6%9C%8D%E5%8A%A1%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20COM%20Surrogate.png)
我在 Win7 和 Win10 机器上都遇到了这个问题:当我浏览包含某种文件(具体来说,是约 100GB 的大型 Quicktime 文件)的文件夹时,Windows 会卡住几分钟。一切都停滞不前并锁定。
如果我事先打开任务管理器或资源监视器,我可以看到它是一个 COM Surrogate / dllhost.exe 实例,它似乎正在“咀嚼”巨大的视频文件,并且系统直到它完成才会再次响应。
经过大量的 Google 搜索和研究、卸载软件等,我仍然无法弄清楚背后的原因。我假设这是我安装的某个软件附加到 shell 上的,但我唯一能弄清楚它是什么的方法是复制它(这很容易)并跟踪哪个软件正在创建和使用 dllhost 实例。我该怎么做?
答案1
跑步进程探索器并将鼠标指向 dllhost.exe。现在,您会看到一个工具提示,其中包含由 dllhost.exe 加载的 DLL
这是缩略图创建 dll。对于您来说,这可能也显示出来,因此请在 Explorer 选项中禁用缩略图。
答案2
COM 代理负责缩略图生成,正如 magicandre1981 已经发布的那样。
Raymond Chen [MSFT] 指出:“实际上,如果您在浏览包含视频或媒体文件的文件夹时遇到此类崩溃,则问题很可能是编解码器不稳定。”https://devblogs.microsoft.com/oldnewthing/20090212-00/?p=19173
可以使用以下方法禁用第三方编解码器已安装的编解码器。
补充说明:
如果您在 Process Explorer 中双击 dllhost.exe,它将显示由 dllhost.exe 托管的 CLSID。如果列出了一个,请在此处发布该信息。
(可以查找注册表中的 CLSID 来找到相应的编解码器/缩略图处理程序,并阻止其加载。)