Registry.CurrentUser.OpenSubKey 返回 HKEY_USER 密钥

问题描述 投票:0回答:0

在我的 Windows 7 测试机中,我有一个注册表项“MyApp”,它在 HKEY_CURRENT_USER\Software 下可见。

在 HKEY_USERS 下还有一个名为“S-1-5-21-xxxx-1000”的键,登录用户的子键为“Software”。

“MyApp”密钥由使用本地服务帐户的 Windows 服务检索。

第一期 理论上 HKEY_CURRENT_USER should 反映 HKEY_USERS 条目。但是,“MyApp”在“S-1-5-21-xxxx-1000\Software”下not可见。但它变得更令人毛骨悚然......

第2期 以下 C# 代码返回“null”,因为它不是从 HKEY_CURRENT_USER 检索密钥,而是从 HKEY_USERS (S-1-5-21-xxxx-1000) 检索密钥:

var myAppKey = Registry.CurrentUser.OpenSubKey(@"Software\MyApp");

(我知道它来自 HKEY_USERS (S-1-5-21-xxxx-1000),因为当打开子键“软件”时它does返回一个键,但是子键来自 HKEY_USERS (S-1-5- 21-xxxx-1000) 代替 HKEY_CURRENT_USER)

现在我一定是忽略了一些非常愚蠢的事情,或者我的 Windows 7 测试机是 FUBAR。

我在 Windows 10 机器上进行开发,Windows 服务运行良好。

请帮忙!

c# windows service registry
© www.soinside.com 2019 - 2024. All rights reserved.