在 Windows 7 Pro(64 位)上运行多个 explorer.exe 进程是否正常?
(因此,需要澄清的是,这与 Windows Internet Explorer 浏览器 iexplore.exe 无关。)
根据 Windows 任务管理器,我目前有 5 个 explorer.exe 进程在此计算机上运行。我没有打开任何 Explorer(即 Windows 文件资源管理器)窗口,并且我目前是此计算机上的唯一用户。无论如何,当我有不是点击“显示所有用户的进程”按钮。
我已将任务管理器配置为在“进程”选项卡下显示“命令行”列,并基于此通过以下命令行启动:
- 1(这可能是“原始”)从命令行开始:
“C:\Windows\Explorer.exe”
- 3.用命令行启动:
“C:\Windows\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding”
- 1.用命令行启动:
“C:\Windows\explorer.exe /factory,{ceff45ee-c862-41de-aee2-a022c81eda92} -Embedding”
根据 Process Hacker 的说法,这些都是由 winit.exe > services.exe > svchost.exe 启动的,看起来很正常。
svchost.exe 正在运行(根据 Process Hacker)这些服务:DcomLaunch、PlugPlay 和 Power。
上面列表中底部的两个“explorer.exe”进程(命令行以“embedding”结尾)可能是由其他进程启动的吗?如果是这样,我如何找到可能产生这些进程的进程?
答案1
这显然是一个未记录的设计决定。在 Win7 之前,只有一个实例explorer.exe
,除非您启用了“在单独的进程中启动文件夹窗口”,否则会出现严重错误。
从 Win7 开始,explorer.exe
即使禁用“在单独的进程中启动文件夹窗口”,您也可能会有多个正在运行的窗口。即使在全新安装的 Windows 上也会发生这种正常现象。explorer.exe
它可以通过使用一个或多个众所周知的命令行参数运行来触发。
例子:
explorer.exe C:\
explorer.exe /select,C:
虽然没有记录更改和更改原因,但这似乎是一个经过深思熟虑的设计决定,或者是一个在 Win7 RTM 之前被放弃的雄心勃勃的设计决定的遗留。这个前提是基于这样一个事实:如果你/factory,
在注册表中找到 CLSID,你可能会发现一些有趣的东西,如下所示。
{ceff45ee-c862-41de-aee2-a022c81eda92} // CLSID_SeparateSingleProcessExplorerHost
当启用“在单独的进程中启动文件夹窗口”时,它会以命令行启动/factory,{ceff45ee-c862-41de-aee2-a022c81eda92} -Embedding
。
{75dff2b7-6936-4c06-a8bb-676a7b00b24b}` // CLSID_SeparateMultipleProcessExplorerHost
当explorer.exe
使用一个或多个命令行参数启动时(通常由通过启动实现“打开包含文件夹”的程序调用explorer.exe /select,<file path>
),它以命令行启动/factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
。它通过指定来故意为每次调用启动一个新实例SingleUse
。
因此,要回答您的问题,要找到哪个进程产生了多个explorer.exe
,{75dff2b7-6936-4c06-a8bb-676a7b00b24b}
您需要确定哪些程序explorer.exe
以类似的参数启动/select
。
答案2
在我的计算机上,如果我执行以下操作,我将获得与您类似的资源管理器进程:
- 打开资源管理器窗口,单击“工具”[菜单] > “文件夹选项”,然后选择“在单独的进程中启动文件夹窗口”选项,在此之后……
- 通过快捷方式打开文件夹,或从网络浏览器(例如 Firefox 或 Opera)下载对话框中选择“打开包含文件夹”
在上述情况下,操作系统会创建一个新的资源管理器进程,其设置与您描述的类似。
请注意,如果您关闭已打开的资源管理器窗口,这些新的资源管理器进程通常不会自动关闭。因此,您可能会留下多个具有您描述的命令行的后台进程。如果您想避免这种情况,请取消勾选“在单独的进程中启动文件夹窗口”选项。