最近遇到了很多类似问题。
右击桌面快捷方式就转圈,然后白屏闪退。这种问题一般是某右键加载项dll出错,导致桌面进程explorer.exe崩溃。
大部分闪退问题事件查看器里有记录。运行eventvwr.msc,windows日志,应用程序,找来源是Application Error且错误应用程序是explorer.exe的日志,看错误模块路径。
一般情况下,删除或重命名导致explorer.exe崩溃的dll,或管理员cmd执行 “regsvr32 /u 错误dll路径” 反注册。
当然事件查看器崩溃日志不一定都有用,比如上图错误模块是系统文件ntdll.dll,你总不能删除系统文件?所以需要别的解决思路。
我是这么做的:
既然右击文件就崩溃闪退,那到底是右击哪些文件?
测试右击这些文件类型,看哪些会崩溃:
txt、jpg、exe、dll、lnk,以及右击文件夹空白处、桌面空白处。
1. 比如最上面图1那位网友,右击txt、jpg、exe、dll、文件夹、桌面都正常,唯独右击lnk快捷方式崩溃闪退。
所以我的结论是下面注册表项的某个加载项有问题:
HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers
注册表项怎么得出的?lnkfile是HKCR\.lnk的默认值,右键加载项一般在shellex下,ContextMenuHandlers是右击文件时弹出菜单要加载的项。
运行regedit打开注册表编辑器,展开上面注册表,右击ContextMenuHandlers导出到桌面备份,备份后删掉这个注册表项,看右击崩溃问题解决没,解决了代表确实有关。
有关的话,再双击导入备份,然后考虑删除一半子项,看问题解决没有,解决了就代表问题在删除的一半子项里(否则在另一半),再导入备份,删除刚才一半的一半,反复二分法很快找到真正有问题的一项删掉。
网友电脑注册表排查出是联想电脑管家的某右键菜单的问题,事件查看器错误模块显示的是wps某dll的问题。最后少数服从多数,干掉联想电脑管家的右键菜单。
当然,如果你会用第三方的右键菜单管理工具(如ContextMenuManager),也可以用这些工具进行排查。
2. 最上面图2那位网友是右击什么文件都崩溃,除了文件夹和桌面,相关注册表是:
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
其他的:
1.如果是右击文件夹和桌面卡住或崩溃。可能是这些注册表项:
HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
2.如果只是右击桌面出问题,可能是这些注册表:
HKEY_CLASSES_ROOT\DesktopBackground\ShellEx\ContextMenuHandlers
HKEY_CLASSES_ROOT\Directory\Background\ShellEx\ContextMenuHandlers
3.打开文件夹,没右击就闪退崩溃。遇到过类似问题,事件查看器显示的错误模块是ntdll.dll(对解决问题没帮助)。
经过排查,新建文件夹里不会崩溃,只有带图片或文档的文件夹崩溃。发现是WPS关联了图片文件,然后在打开带图片或office、pdf文档文件夹时预览这些文件导致崩溃。
解决方法是更改这些文件的打开方式,或者卸载WPS。