Windows注册表HKCR合并规则

时间:2013-10-02 22:05:05

标签: windows com registry

据我所知 HKCR 是一个合并来自 HKCU HKLM 的关键字的视图。

但我在 HKCU

中有一把钥匙
[HKEY_CURRENT_USER\Software\Wow6432Node\Classes\CLSID\{8A49257F-D5E9-47DB-B87D-E09EBAF199AE}]

HKCR 中没有反映出来:

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{8A49257F-D5E9-47DB-B87D-E09EBAF199AE}]

但如果我把钥匙放在 HKLM

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Classes\CLSID\{8A49257F-D5E9-47DB-B87D-E09EBAF199AE}]

正确反映在 HKCR

我错过了哪些规则?

提前致谢。

1 个答案:

答案 0 :(得分:1)

正确的路径是

HKEY_CURRENT_USER\Software\Classes\Wow6432Node\CLSID

而不是

HKEY_CURRENT_USER\Software\Wow6432Node\Classes\CLSID 

所以这可能是你的问题。但是,不是使用硬编码的Wow6432Node路径,而是将密钥写入

HKEY_CURRENT_USER\Software\Classes\CLSID

使用KEY_WOW64_32KEY选项。这样,如果重定向方案将来发生变化,您的应用仍然可以正常运行。

另请注意,在Vista上,CLSID中的某些键被反映,即在32位和64位视图之间自动复制。请参阅MSDN中的Registry Reflection。您可能需要考虑这一点。