我正在尝试访问注册表值(由另一个程序编写),当从登录用户的上下文访问时,这些值应该可以通过 HKEY_CURRENT_USER 注册表基本键随时可用。不幸的是,我正在从服务访问此信息,因此根据我收集的信息,我有两个选择:
- 为访问注册表的每段代码模拟登录用户,并通过 HKEY_CURRENT_USER/SOFTWARE/Company/Product 使用 HKEY_CURRENT_USER 基本键访问注册表...
- 获取登录用户的 SID 并通过 HKEY_USERS/{SID}/SOFTWARE/Company/Product... 使用 HKEY_USERS 基本密钥访问注册表
我非常想使用第二种解决方案,因为它对于我正在使用的大型代码库来说要简单得多。我最近才了解注册表虚拟化及其可能导致的问题,所以我想验证我的上述解决方案是否有效,并询问是否有任何其他解决方案可以解决我的问题。
感谢您提供有关该主题的任何知识,或者您可以指出我可能无法找到的文章。