如何从注册表中获取键的默认值

18

我正在尝试从 HKEY_CLASSES_ROOT 获取 (Default) 键值,我尝试的代码片段如下:

using (var key = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\\CurVer"))
{
    var defvalue = key?.GetValue("(Default)");
    if (defvalue != null)
    {
    }
}

始终得到的defvalue为null。我无法追踪自己犯了什么错误。

请问有人可以帮我解决这个问题吗?


2
传递 null 而不是 "(默认)"。 - Aleks Andreev
@AleksAndreev,谢谢你解决了这个问题。 - Siva
2个回答

30

不要使用"(Default)",而需使用空字符串("")。

using (var key = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\\CurVer"))
{
    var defvalue = key?.GetValue("");
    if (defvalue != null)
    {
    }
}

1
您还可以尝试使用"String.Empty"来获取注册表的"(Default)"值,而不是在代码中访问"(Default)"。

虽然这可能是解决问题的有价值提示,但一个好的答案也应该展示解决方案。请编辑提供示例代码以展示您的意思。或者,考虑将其编写为评论。 - ρяσѕρєя K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接