在 Windows 7 中无法选择使用上下文菜单打开的默认程序形式

在 Windows 7 中无法选择使用上下文菜单打开的默认程序形式

//作为注释,我想说我实际上可以打开上下文,但是它不起作用。

我右键单击一个文件并将鼠标悬停在“打开方式”选项上,然后在“打开方式”上下文菜单中,我想为该文件选择默认程序,它显示一条错误:

此文件没有与之关联的程序来执行此操作,请安装程序,或者,如果已安装,请在默认程序控制面板中创建关联。

但我不想每次想要更改默认程序时都在控制面板中创建关联,我只想通过右键单击文件并

答案1

此问题是由于缺少注册表项而发生的。要修复此问题,最简单的方法是下载针对此问题的特定注册表修复程序:

下载其中一个后,如果需要,请解压缩,然后运行注册表文件。完成后,再试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\命令钥匙。


向用户致敬Boothy99w7forums.com以及原帖作者拉梅什·斯里尼瓦桑


附言:对于那些对我的 CCleaner 删除的内容感兴趣的人,请看这里:

  [HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command]

  @="C:\\Program Files\\ParetoLogic\\FileCure\\FileCure_noapp.exe %1"

它是一些清洁工具本身留下的。

相关内容