如何使用Microsoft.Win32.Registry.OpenSubKey直接转到特定键?

时间:2011-08-18 01:16:31

标签: c# registry msdn

现在这是一个简单的问题。它应该在MSDN中清楚地记录。我看了,但我找不到它。我唯一得到的是我必须在subkey之后打开子键才能找到我感兴趣的特定键。

当然,有一种更直接的方法可以访问3级关键。它是什么?

我已经尝试了

RegistryKey reg = Registry.LocalMachine;
reg.OpenSubKey(@"Software\Microsoft", true);  // reg is still HKLM !

reg.OpenSubKey(@"Software\Microsoft\", true); // reg is still HKLM !

3 个答案:

答案 0 :(得分:9)

我认为你期望OpenSubKey()方法对reg做某事 - 以某种方式使其指向子键。它不起作用。 OpenSubKey()返回RegistryKey类型的新对象,该对象可用于检索子键的值或修改子键。所以你需要:

RegistryKey reg = Registry.LocalMachine;
RegistryKey subKey = reg.OpenSubKey(@"Software\Microsoft", true);  

答案 1 :(得分:2)

OpenSubKey会返回一个新的RegistryKey对象:

reg = reg.OpenSubKey(@"Software\Microsoft", true); // Will work or
var sub = reg.OpenSubKey(@"Software\Microsoft", true);

答案 2 :(得分:0)

当然只需填写该密钥的完整路径,例如:

Registry.CurrentUser.OpenSubKey("the registry full path");