C#获取注册表子项的值

第1337章

我在注册表中有类似的东西:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MyKeys\Keys1
  > random subkey 1 / value a = 1
  > random subkey 2 / value b = 2
  > random subkey 3 / value c = 3
  > random subkey 4 / value d = 4

随机子项x-随机数(例如{6E7EE186-9G13-50HC-A001-319DA68183A7})

现在,我想将所有子项名称保存到string [],然后将每个值添加到listView:

a | 1
b | 2
c | 3
d | 4

有人可以帮我弄这个吗?

老狐狸

此代码是从特定键检索子键+值的示例

    class Key
    {
        public string KeyName { get; set; }
        public List<KeyValuePair<string, object>> Values { get; set; }
    }

    private List<Key> GetSubkeysValue(string path, RegistryHive hive)
    {
        var result = new List<Key>();
        using (var hiveKey = RegistryKey.OpenBaseKey(hive, RegistryView.Default))
        using (var key = hiveKey.OpenSubKey(path))
        {
            var subkeys = key.GetSubKeyNames();

            foreach (var subkey in subkeys)
            {
                var values = GetKeyValue(hiveKey, subkey);
                result.Add(values);
            }
        }
        return result;
    }

    private Key GetKeyValue(RegistryKey hive, string keyName)
    {
        var result = new Key() {KeyName = keyName};
        using (var key = hive.OpenSubKey(keyName))
        {
            foreach (var valueName in key.GetValueNames())
            {
                var val = key.GetValue(valueName);
                var pair = new KeyValuePair<string, object>(valueName, val);
                result.Values.Add(pair);
            }
        }

        return result;
    }

GetKeyValue你的根路径(SOFTWARE \微软\的Windows \ CurrentVersion \ MyKeys \键1在你的问题)和本地机器蜂巢

注意事项

在某些情况下,OpenSubKeyreturn null,在我的示例中,这些情况将引发NullRefrenceException =>您应确定OpenSubKeyreturn时将发生什么null

您的路径在local_machine-软件中,请确保您使用的是正确的 RegistryView

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

遍历注册表并获取所有子项和C#中RegistryKey中的值

来自分类Dev

列出和删除C#中的注册表子项

来自分类Dev

注册表子项不可见?C#

来自分类Dev

从注册表C#获取参数

来自分类Dev

在注册表子项中搜索值

来自分类Dev

尽管具有 C# 管理员权限,但无法为注册表子项创建/写入值

来自分类Dev

C ++-从注册表读取值中获取空值

来自分类Dev

在C#中删除单个注册表值

来自分类Dev

从注册表获取日期时间值

来自分类Dev

c#仅在注册表值名称已存在的情况下设置新的注册表值

来自分类Dev

从注册表C#读取值

来自分类Dev

C#写入注册表

来自分类Dev

从注册表C#读取值

来自分类Dev

在C中更改注册表值

来自分类Dev

无法打开注册表子项

来自分类Dev

无法在C#中使用PowerShell读取注册表值

来自分类Dev

使用C#测试注册表中是否存在DWORD值

来自分类Dev

从注册表中的DWORD获取十进制值

来自分类Dev

如何批量获取注册表值的数据

来自分类Dev

vb.net检查注册表子项值是否存在

来自分类Dev

注册表删除值

来自分类Dev

设置注册表值

来自分类Dev

注册表值访问

来自分类Dev

在C ++中枚举HKEY_LOCAL_MACHINE \ SOFTWARE中的注册表子项

来自分类Dev

C#winApi-获取注册表的最后写入日期

来自分类Dev

如何通过C#编辑远程注册表

来自分类Dev

从注册表C#检查Windows版本

来自分类Dev

如何通过C#编辑远程注册表

来自分类Dev

C#如何从注册表中读取MultiString