C#Can和#xB4;无法从注册表获取值
我试图通过C获取R安装路径,但不幸的是,C#Can和#xB4;无法从注册表获取值,c#,registry,nullreferenceexception,C#,Registry,Nullreferenceexception,我试图通过C获取R安装路径,但不幸的是,Registry.LocalMachine.OpenSubKey(keyName)方法返回null 这是我的代码: var keyName = @"SOFTWARE\R-core\R"; using (var key = Registry.LocalMachine.OpenSubKey(keyName)) { if (key != null) { var value = key.GetValue("InstallPath", 0)
Registry.LocalMachine.OpenSubKey(keyName)
方法返回null
这是我的代码:
var keyName = @"SOFTWARE\R-core\R";
using (var key = Registry.LocalMachine.OpenSubKey(keyName))
{
if (key != null)
{
var value = key.GetValue("InstallPath", 0);
Console.WriteLine(value);
}
else
{
Console.WriteLine("No key found!");
}
}
我手动检查了密钥是否存在,它是否存在。尝试使用
Registry.GetValue (String, String, Object)
之后,您应该将对象强制转换为您的类型。
更多信息可以在MSDN上找到
我已经试过了……下一步它将返回第三个参数(默认值)。您可以检查密钥的完整路径,以避免与“当前\u用户\本地\u机器”发生错误。您的意思是什么?我的完整路径是HKEY\u本地\u机器\软件\R-core\R。这是我在建议的方法中使用的路径。也许您可以尝试访问“HKEY\u本地\u机器\软件\R-core\R”而不是“HKEY\u当前\u用户\软件\R-core\R”