注册表getValue与C#

时间:2012-07-11 10:11:58

标签: c# registry

我想使用C#在注册表中读取值,如果值不在注册表中我创建它。我有阅读问题:

 RegistryKey regKey1 = Registry.CurrentUser;
 regKey1 = regKey1.CreateSubKey(@"SOFTWARE\PNMDISPATCHER");

 if (regKey1 != null)
 {
  textBoxTaux1.Text = regKey1.GetValue("Taux1").ToString();
 }

执行NullReferenceException功能时,我有GetValue。 我的值在注册表中,为什么我会收到此错误?

3 个答案:

答案 0 :(得分:1)

嗯,显然你没有把路径弄好......

找不到密钥时,

GetValue会返回Null。另请检查http://msdn.microsoft.com/en-us/library/fdf576x1

你能通过它调试并仔细检查你想看到的路径,确实在文本框行的regKey1变量中吗?

答案 1 :(得分:0)

看起来RegistryKey.GetValue返回null并且无法执行.ToString()

从MSDN获取RegistryKey.GetValue:

  

检索与指定名称关联的值。返回null   如果注册表中不存在名称/值对。

答案 2 :(得分:0)

也许NullReferenceException是针对textBoxTaux1的?请发布调用堆栈以查看异常,以便明确这一点。您可以使用Exception.ToString()来获取此信息。