右键单击上下文菜单需要 10 多秒才能打开任何文件/文件夹。在同一文件/文件夹上重复右键单击时延迟不会改变。我有时也会遇到资源管理器崩溃的情况。
只有在连接到网络(有线或 wifi)时才会出现延迟。无论是互联网连接,这都没有关系。
我已使用 CCleaner 禁用所有上下文菜单/shell 条目。包括诺顿的NavShExt.dll
已知会导致延迟。
为了确保我的硬盘没有坏或者发生故障:
- 运行
sfc /scannow
后未发现任何错误。 - 运行该
C:->Properties->Tools->Error Checking
实用程序,它修复了一些错误,没有任何问题,但决定停止并从启动时执行。我chkdsk C: /v /r /f
在启动时运行,它能够修复所有问题(“坏扇区中有 4 KB”):“无需进一步操作。” - 对 C: 驱动器进行了碎片整理,我的操作系统和其他数据都位于该驱动器中。我还有一个 D: 分区和用于存储数据的外部联网 NAS。
我从 WinDbg 进行了几次转储,试图通过附加到explorer.exe
并执行一些操作直到它崩溃来查看为什么资源管理器会崩溃。.dump /m mydump.dmp
当使用 WinDbg 捕获转储时,我收到一连串的 CLR 异常(不确定是否正常)。
答案1
检查是否有任何上下文菜单项/程序此列表。
使用ShellEx查看器查看所有已启用/活动的上下文菜单项。该程序看起来有点旧,一开始很难操作,但它提供了所有已启用项的完整视图。逐个禁用所有非 Microsoft 项,直到问题消失。
禁用/启用任何条目后,您需要重新启动explorer.exe
才能使更改生效。您可以explorer.exe
通过打开任务管理器 ( ctrl++ ),从列表中选择并按 来alt重新启动。deleteWindows Explorer
Processes->App
Restart
笔记:CCleaner 也有一个上下文菜单实用程序(Tools->Startup->Context Menu
),但它没有列出所有可能影响加载时间的条目。
为了手动调试explorer.exe
,您可以使用 WinDbg:
File->Attach to Process
或者F6
- 种类
By Executable
- 向下滚动并选择
explorer.exe
。确保explorer.exe
在折叠菜单中选择而不是会话实例。 - 按“确定”并等待它在命令屏幕底部为您提供控制台/文本输入。
- 输入“g”并回车。您的浏览器将冻结,直到您给它发出此命令。
- 查找
ModLoad
延迟后出现的任何条目,然后出现上下文菜单。其中任何一个都可能是罪魁祸首。
如果资源管理器崩溃并且您想要捕获转储文件,请从上面的步骤#1-5开始,然后:
- 执行任何冻结的操作
explorer.exe
。您可能会注意到它不会像平常一样崩溃,因为 WinDbg 已介入并正在等待下一个命令。 - 运行以下命令创建转储文件:
.dump /m mydump.dmp
- 转储文件将位于 WinDbg 安装的任何位置。您也可以使用完整的文件路径到桌面,但并不总是容易在剪贴板中方便地粘贴路径。
在我的案例中,解决方案是使用以下方法禁用 PerforceP4EXP.P4EXPContextMenuExtension
条目ShellEx查看器。
P4EXP.P4EXPContextMenuExtension
位置:C:\Windows\assembly\GAC_MSIL\P4EXP\2014.2.95.9073__null\P4EXP.dll
来自:P4Merge
公司:Perforce
这一延迟在Perforce r14.2 说明但它可能退化了,因为我有 2014.2 版本,但仍然存在问题:
#975324 (Bug #75847)
P4EXP 不再在右键单击 Windows 资源管理器中的对象时构建 Perforce 上下文菜单。如果 Perforce 环境变量未设置或设置不正确,或者目标服务器处于离线状态,这可能会导致 Windows 资源管理器上下文菜单的显示出现相当大的延迟。
答案2
我已经遇到过这个问题并解决了。
我使用解决了这个问题CCleaner如下所示:
- 打开CCleaner。
- 点击左侧标签工具。
- 点击顶部标签上下文菜单。
- 点击发送至上下文菜单(文件:C:\WINDOWS\System32\BSAppShEXT.dll)
- 点击禁用按钮。
如果您无法通过这种方式解决此问题,您可以点击此链接 http://windowsreport.com/file-explorer-slow-windows-10/