我如何准备此注册表?

时间:2016-10-14 22:29:12

标签: c# .net wpf windows registry

我正在尝试阅读此注册表:

  

HKEY_CLASSES_ROOT \ MYXMLfile \壳牌\打开\命令

来自C#,使用此代码:

Registry.ClassesRoot.GetValue(@"MYXMLfile\Shell\Open\Command", "not found")

但它总是返回:

  

未找到

我错过了什么?

该应用程序已作为管理员运行。

更新

我也试过打开钥匙:

const string keyName = @"MYXMLfile\Shell\Open";
using (var key = Registry.ClassesRoot.OpenSubKey(keyName, false))
{
    var val = (string) key.GetValue("Command"); // return null
}

UPDATE2:

我已经尝试设置RegistryView,因为它是在64位操作系统上运行的32位应用程序,但仍无效。代码:

 string keyName = @"MYXMLfile\Shell\Open";
        RegistryView regView = Environment.Is64BitOperatingSystem ? RegistryView.Registry64 : RegistryView.Registry32;
        using (var baseKey = RegistryKey.OpenBaseKey(RegistryHive.ClassesRoot, regView))
        using(var key = baseKey.OpenSubKey(keyName))
        {
            var v = key.GetValue("Command"); // null
        }

0 个答案:

没有答案