我在注册表中有类似的东西:
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在你的问题)和本地机器蜂巢
注意事项:
在某些情况下,OpenSubKey
return null
,在我的示例中,这些情况将引发NullRefrenceException =>您应确定OpenSubKey
return时将发生什么null
您的路径在local_machine-软件中,请确保您使用的是正确的 RegistryView
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句