//作为注释,我想说我实际上可以打开上下文,但是它不起作用。
我右键单击一个文件并将鼠标悬停在“打开方式”选项上,然后在“打开方式”上下文菜单中,我想为该文件选择默认程序,它显示一条错误:
此文件没有与之关联的程序来执行此操作,请安装程序,或者,如果已安装,请在默认程序控制面板中创建关联。
但我不想每次想要更改默认程序时都在控制面板中创建关联,我只想通过右键单击文件并
答案1
此问题是由于缺少注册表项而发生的。要修复此问题,最简单的方法是下载针对此问题的特定注册表修复程序:
- Windows 8:http://www.eightforums.com/attachments/tutorials/30958d1383453884-open-choose-default-program-error-fix-fix_open_with.reg
- Windows 7的:http://www.winhelponline.com/fileasso/folder_fix_w7.zip
下载其中一个后,如果需要,请解压缩,然后运行注册表文件。完成后,再试Change default program
一次。
来源:http://www.eightforums.com/tutorials/34736-open-choose-default-program-error-fix.html http://www.winhelponline.com/blog/fix-file-association-error-explorer-in-windows-7/
答案2
修复@edvinas.me 的帮助对我来说没什么用。我在这台机器上运行的是 w7hprem SP1。
后来我发现 CCleaner 在第一次运行时从键中删除了默认值:
HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command
这与许多网络帖子所说的(在几个符号上)有所不同:
HKEY_CLASSES_ROOT\Unknown\shell\openas\command
我使用 CCleaner 提供的 reg-backup 文件进行回归测试(手动)时发现了这一点。后来发现(在测试了各种值之后),在这里添加任何默认值就足够了,例如:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command]
@="nothing"
...然后“打开方式”对话框再次出现。
但一般来说你应该导入打开文件文件。大多数镜像似乎都缺少它,因此这里是:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Unknown]
"AlwaysShowExt"=""
"QueryClassStore"=""
"TypeOverlay"=""
[HKEY_CLASSES_ROOT\Unknown\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00
[HKEY_CLASSES_ROOT\Unknown\shell]
@="openas"
[HKEY_CLASSES_ROOT\Unknown\shell\openas]
"MultiSelectModel"="Single"
[HKEY_CLASSES_ROOT\Unknown\shell\openas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\
00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\
79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\
00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\
73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00
"DelegateExecute"="{e44e9428-bdbc-4987-a099-40dc8fd255e7}"
[HKEY_CLASSES_ROOT\Unknown\shell\opendlg]
"LegacyDisable"=""
"MultiSelectModel"="Single"
[HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\
00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\
79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\
00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\
73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00
...其中的默认值为HKEY_CLASSES_ROOT\未知\外壳\打开\命令翻译过来就是:
%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1
与默认值相同HKEY_CLASSES_ROOT\未知\外壳\openas\命令钥匙。
向用户致敬Boothy99从w7forums.com以及原帖作者拉梅什·斯里尼瓦桑。
附言:对于那些对我的 CCleaner 删除的内容感兴趣的人,请看这里:
[HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command]
@="C:\\Program Files\\ParetoLogic\\FileCure\\FileCure_noapp.exe %1"
它是一些清洁工具本身留下的。