存储在注册表中的默认程序关联在哪里? [重复]


15

这个问题在这里已有答案:

如果我跑了 assoc 扩展的命令行实用程序,它显示我在注册表中设置的扩展名的文件类型/描述。但是,如果我去 控制面板 - >默认程序 - 设置关联 然后我看到了不同的描述和默认程序。

它曾经是设置两个键:

  • HKCR\.ext (默认)= 识别码
  • 识别码 (默认)=“文件描述”
    • \ DefaultIcon(默认)= 一些图标
    • \ Shell \ Open \ Command(默认)= 一些编辑

但现在看来在其他地方有一个覆盖,这是默认程序列表中显示的内容。

我的问题是,这个覆盖的关联信息存储在哪里?我假设它在注册表中,但我没有在我期望它的键中看到它。我相信这在Vista时间框架中有所改变,但它可能也在XP中。

更新: 由于存在一些混淆,请进行以下测试。将文件重命名为某个新扩展名。在上面提到的注册表项中创建关联。然后右键单击该文件, 打开用 并选择一个不同的程序(检查以使其成为默认程序)。现在检查注册表。它没有变化,但现在文件与不同的描述,图标和默认程序相关联。

Answers:


19

应该在:

HKEY_LOCAL_MACHINE\SOFTWARE\ClassesHKCU\SOFTWARE\Classes

而且我不相信这最近发生了变化。

优先级是当前用户,然后是本地机器(别名我相信类根)。

Explorer使用一组不同的注册表项,可在以下位置找到:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\


我相信那是什么 HKEY_CLASSES_ROOT 地图也是。那些存储什么的 assoc 命令返回。但是返回的覆盖信息 默认程序 在控制面板中是不同的。
Jim McKeeth

我看到你关于它的编辑被别名为类root。但是你错过了其他地方存在被覆盖的关联的观点 默认程序 控制面板中的列表。
Jim McKeeth

这不是HKCU的设置?
soandos

不,看看我添加的更新。你可以自己测试一下。
Jim McKeeth

1
非常欢迎你。对于早先的混乱感到抱歉。
soandos
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.