为什么不建议在Inno设置中使用HKCR注册表根密钥



我必须向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键与注册表函数一起使用。

相关内容

  • 没有找到相关文章

最新更新