Registry.GetValue()和Registry.User.GetValue()的不同结果

时间:2012-11-08 14:03:57

标签: c# registry

我在output1output2得到了不同的结果。虽然第一个给了我实际在注册表中看到的值,但后者只给了我默认值。我错过了什么?

String output1 = Registry.GetValue(
  @"HKEY_USERS\blobb", "beep", "nope!") as String;

String output2 = Registry.Users.GetValue(
  @"blobb\beep", "nope!") as String;

我尝试了很多不同的输入字符串变量,但没有给出正确的值。

1 个答案:

答案 0 :(得分:3)

Registry.Users.GetValue正在根USERS键中查找名为'blobb \ beep'的值

要获得与第一个示例相同的结果,您需要类似

的内容
using (var blobb = Registry.Users.OpenSubKey("blobb"))
{
    String output2 = blobb.GetValue("beep", "nope!") as String
}