我正在尝试将注册表项添加到注册表项目中尚不存在的文件“MyApp”中,当我尝试编写此项时,我从调试控制台收到错误告诉我“ NullReference没有透露“。如果我去手动制作这个文件夹它的工作非常出色,那么任何人都可以帮助我,因为我认为这个代码也可以创建文件夹吗?如果你能告诉我哪些代码也需要在那里,我将非常感激!
我使用的代码是:
My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\MyApp", True).SetValue("AppName", "SerialKey")
答案 0 :(得分:1)
OpenSubKey("SOFTWARE\MyApp", True)
只有在已存在的情况下才会打开写访问密钥。如果密钥不存在,它将返回null。由于您在空引用上盲目地调用SetValue
,因此将获得空引用异常。
根据您的要求,最简单的解决方案是拨打CreateSubKey("SOFTWARE\MyApp")
。这完全符合您的要求,即创建一个新的子键或打开现有的子键进行写访问。
答案 1 :(得分:0)
在win 7中添加和编辑LocalMachine注册表项需要管理员权限,可能是因为这个而得到错误