现在这是一个简单的问题。它应该在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 !
答案 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");