在任务管理器中右键一个进程,选择“打开文件所在的位置”,或者在一个快捷方式上右键选择“打开文件所在的位置”,会报“该文件没有与之关联的应用来执行该操作”,如图。
遇到问题先百度,当然,没有任何有用的结果(不然我还写这个文干嘛)。
由于完全不知道这个问题是何时产生的,更别提如何复现,所以一切只能靠猜。
既然报错提到了关联应用,那应该是关联出现了问题,对应注册表中的 HKEY_CLASSES_ROOT
。进一步,这是打开一个文件夹时出现的问题,可能的注册表项目就是 HKEY_CLASSES_ROOT\Directory\shell
和 HKEY_CLASSES_ROOT\Folder\shell
。
由于 HKEY_CLASSES_ROOT
是 HKEY_LOCAL_MACHINE\SOFTWARE\Classes
和 HKEY_CURRENT_USER\Software\Classes
的并集,所以先排除法,创建一个新用户,登录进去看看新用户是否正常。结果是新用户中一切正常,这样就可以确定是 HKEY_CURRENT_USER
的问题。
然后对比我现在用的帐户和新帐户的注册表差异,发现我帐户中的 HKEY_CURRENT_USER\Software\Classes\Folder\shell
多了个默认值 none
,把这个默认值删掉,问题解决。
其实 HKEY_CLASSES_ROOT\Directory\shell
的默认值应该为 none
,这里不能删除,删除后也会导致这个问题。
问题虽然解决了,但是为何会出现,是谁改了这个注册表,仍然没有头绪,我的使用习惯自认为很好,电脑上没有管家卫士,也从来不用所谓的优化软件。
最后骂一下百度上的半吊子,竟然搜到了某些“专家”教人给 Folder\shell
设置默认值 none
,估计我电脑这个情况也是因为某个渣渣软件的开发者,信了这些半吊子专家,在自己软件里写了这样的代码吧。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。