Windows文件关联深度解析与定制指南
1. 注册表HKCR概述
在Windows系统中,注册表的大部分文件关联和类注册内容存储在HKCR中。Windows XP和Windows Server 2003通过HKCR将不同类型的文件与能够打开、编辑和打印它们的程序相关联,同时注册不同的程序类以便创建对象。
对HKCR进行定制可以让Windows系统按照用户的需求呈现和运行。例如,用户可以为文件夹的文件关联添加命令,从而在选定文件夹作为当前工作目录的情况下打开命令提示符窗口;还能为“我的电脑”对象添加命令,以便快速访问注册表编辑器(Regedit)和Tweak UI。
2. 合并算法
在Windows 2000之前,HKCR是指向HKLM\SOFTWARE\Classes的链接,而现在情况更为复杂。Windows会合并HKLM\SOFTWARE\Classes和HKCU\Software\Classes的数据。其中,HKLM中的数据是默认的文件关联和类注册信息,HKCU中的数据则是每个用户的文件关联和类注册信息。HKCU\Software\Classes实际上是指向HKU\SID_Classes的链接,Windows在加载HKU\SID中的配置单元时会加载该链接。
如果相同的值同时出现在两个分支中,HKCU\Software\Classes中的值具有更高的优先级,会覆盖HKLM\SOFTWARE\Classes中的值。这种合并算法的好处是,用户可以安装应用程序并使用文件关联,而不会影响其他用户。例如,共享一台计算机的两个用户可以使用不同的程序来编辑相同类型的文件。
当在HKCR的根目录下创建新键时,Windows实际上