我必须向HKEY_CLASSES_ROOT
键写入一个值。为了做到这一点,我会写:
RegWriteStringValue(HKCR, '<Root>', '<SubKey>', '<Value>');
但当我查看文档时,我看到了以下内容:
不建议使用HKCR,而是使用将Subkey参数设置为"Software\Classes"的HKA。
我想知道两者之间有什么区别?
此外,我注意到在文档中的示例中,它们使用HKEY_AUTO
而不是HKA
。这些都一样吗?
这可能是基于微软关于避免使用HKEY_CLASSES_ROOT
:的建议
它主要用于与16位Windows中的注册表兼容。
要更改交互式用户的设置,请将更改存储在HKEY_CURRENT_user\Software\Classes下,而不是HKEY_Classes_ROOT。
要更改默认设置,请将更改存储在HKEY_LOCAL_MACHINE\Software\Classes下
在非交互式用户的安全上下文中运行的进程不应将HKEY_CLASSES_ROOT键与注册表函数一起使用。