上下文(右键单击)菜单 网络连接时加载时间较长

MLM*_*MLM 5 networking windows context-menu windows-8.1

右键单击上下文菜单需要 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 异常流(不确定是否正常)。

MLM*_*MLM 3

检查此列表中是否有任何上下文菜单项/程序。

使用ShellExView查看所有已启用/活动的上下文菜单条目。该程序看起来有点旧,一开始很难争论,但它给出了所有启用的完整图片。将所有非 Microsoft 条目一一禁用,直到问题消失。

禁用/启用任何条目后,您需要重新启动explorer.exe才能使更改生效。您可以explorer.exe通过打开任务管理器 ( ctrl++ alt) deleteWindows ExplorerProcesses->App列表中选择并按 来重新启动Restart

注意: CCleaner 也有一个上下文菜单实用程序 ( Tools->Startup->Context Menu),但它没有列出可能影响加载时间的所有条目。


为了手动调试explorer.exe,您可以使用WinDbg:

  1. File->Attach to Process或者F6
  2. 种类By Executable
  3. 向下滚动并选择explorer.exe确保选择explorer.exe而不是可折叠菜单中的会话实例。
  4. 按“确定”并等待它在命令屏幕底部为您提供控制台/文本输入。
  5. 输入“g”并输入。您的资源管理器将冻结,直到您发出此命令。
  6. 查找 ModLoad延迟后出现的任何条目,然后出现上下文菜单。其中任何一项都可能是罪魁祸首。

如果资源管理器崩溃并且您想要捕获转储文件,请从上面的步骤 #1-5 开始,然后:

  1. 执行任何冻结的操作explorer.exe。您可能会注意到它不会像平常那样崩溃,因为 WinDbg 已经介入并正在等待下一个命令。
  2. 通过运行以下命令创建转储文件:.dump /m mydump.dmp
  3. 转储文件将位于安装 WinDbg 的位置。您还可以使用桌面的完整文件路径,但在剪贴板中方便地粘贴该路径并不总是那么容易。

P4EXP.P4EXPContextMenuExtension我的解决方案是使用ShellExView禁用 Perforce条目。

P4EXP.P4EXPContextMenuExtension
位置:C:\Windows\ assembly\GAC_MSIL\P4EXP\2014.2.95.9073__null\P4EXP.dll
来自:P4Merge
公司:Perforce

Perforce r14.2 注释中提到了这种延迟,但它可能会倒退,因为我有 2014.2 版本,但仍然遇到问题:

#975324(错误#75847)
P4EXP 不再在 Windows 资源管理器中右键单击对象时构建 Perforce 上下文菜单。以前,如果 Perforce 环境变量未设置或设置不正确,或者目标服务器处于脱机状态,这可能会导致 Windows 资源管理器上下文菜单的显示出现严重延迟。