如果VB中不存在该文件夹,则为注册表项错误

时间:2011-12-08 10:44:08

标签: vb.net registry

我正在尝试将注册表项添加到注册表项目中尚不存在的文件“MyApp”中,当我尝试编写此项时,我从调试控制台收到错误告诉我“ NullReference没有透露“。如果我去手动制作这个文件夹它的工作非常出色,那么任何人都可以帮助我,因为我认为这个代码也可以创建文件夹吗?如果你能告诉我哪些代码也需要在那里,我将非常感激!

我使用的代码是:

    My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\MyApp", True).SetValue("AppName", "SerialKey")

2 个答案:

答案 0 :(得分:1)

OpenSubKey("SOFTWARE\MyApp", True)只有在已存在的情况下才会打开写访问密钥。如果密钥不存在,它将返回null。由于您在空引用上盲目地调用SetValue,因此将获得空引用异常。

根据您的要求,最简单的解决方案是拨打CreateSubKey("SOFTWARE\MyApp")。这完全符合您的要求,即创建一个新的子键或打开现有的子键进行写访问。

答案 1 :(得分:0)

在win 7中添加和编辑LocalMachine注册表项需要管理员权限,可能是因为这个而得到错误