如果我知道用户的SID,HKEY_USERS的可靠性如何?

时间:2015-05-15 19:50:27

标签: c# .net windows registry registry-virtualization

我尝试访问注册表值(由其他程序编写),当从登录用户的上下文访问时,该注册表值应该可以通过HKEY_CURRENT_USER注册表基本密钥随时使用。不幸的是,我从服务中获取此信息,因此根据我收集的信息,我有两种选择:

  • 通过HKEY_CURRENT_USER / SOFTWARE / Company / Product ...
  • 使用HKEY_CURRENT_USER基本密钥模拟登录用户访问注册表并访问注册表的每一段代码
  • 获取登录用户的SID并使用HKEY_USERS基本密钥通过HKEY_USERS / {SID} / SOFTWARE / Company / Product ...
  • 访问注册表

我非常希望使用第二种解决方案,因为对于我正在使用的大型代码库来说,它要复杂得多。我最近刚刚了解了注册表虚拟化及其可能导致的问题,因此我想验证我的上述解决方案是否有效,并询问是否有其他解决方案可用于解决我的问题。

感谢您提供有关该主题的任何知识,或者您可以指向我的文章,我可能无法找到。

1 个答案:

答案 0 :(得分:0)

使用我的第二个解决方案,似乎在多个场景中适用于多个操作系统版本。经过更多的研究和其他人的投入,不确定是否还有其他可行的解决方案可用于此问题。

获取登录用户的SID并使用HKEY_USERS基本密钥通过HKEY_USERS / {SID} / SOFTWARE / Company / Product ...

访问注册表