无法使用C#删除regedit中的特定注册表

时间:2013-08-27 04:16:27

标签: c#-4.0 registry

我碰巧使用C#编写了一个注册表编程

const string basereg="HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\ram";
Registry.SetValue(basereg,"r","s",RegistryValueKind.String); 

- 在ram子项中创建一个值字符串“r”。

添加下面的代码后我预期的代码删除键名为“r”里面的ram [上面提到的子项],但我得到的预期为“System.NullReferenceException”

string pat = "\\SOFTWARE\\Wow6432Node\\ram";
RegistryKey del = null;
del = Registry.LocalMachine.OpenSubKey(pat, true);
del.DeleteValue("r");

由于

此致 拉姆

1 个答案:

答案 0 :(得分:0)

Registry.LocalMachine.OpenSubKey()rtries打开一个键,但ram是一个值,而不是一个键。

试试这个:

string pat = "\\SOFTWARE\Wow6432Node";

注册表术语“密钥”和“值”不是典型用法。 Key在注册表中有多个值,每个值都有不同的名称。

相关问题