MSDN说:
Class registration and file name extension information is stored under both the HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER keys. The HKEY_LOCAL_MACHINE\Software\Classes key contains default settings that can apply to all users on the local computer. The HKEY_CURRENT_USER\Software\Classes key contains settings that apply only to the interactive user. The HKEY_CLASSES_ROOT key provides a view of the registry that merges the information from these two sources. HKEY_CLASSES_ROOT also provides this merged view for applications designed for previous versions of Windows.
这是否意味着如果我向 HKEY_LOCAL_MACHINE\Software\Classes
添加子项(例如新的文件扩展名),HKEY_CLASSES_ROOT
的容器将自动相应更新?
如果没有,我该怎么办?
最佳答案
HKEY_CLASSES_ROOT
不是真正的物理 hive (它不存储任何数据),它只是 HKEY_CURRENT_USER\Software\Classes
和 HKEY_LOCAL_MACHINE\Software\Classes
的合并 View 。对基础键的更新在 HKEY_CLASSES_ROOT
中立即可见。
HKEY_CURRENT_USER
中的值会覆盖 HKEY_LOCAL_MACHINE
中的值,因为访问 HKEY_CLASSES_ROOT
时,注册表内部会尝试从 HKEY_CURRENT_USER
读取> 首先。
此外,HKEY_CURRENT_USER
实际上是 HKEY_USERS
下某个键的别名/符号链接(symbolic link)。
关于c++ - 将新子目录添加到 HKEY_LOCAL_MACHINE\Software\Classes 后如何更新 HKEY_CLASSES_ROOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50146334/