internal XlRegistryEntries(XlRegistryType regType, string Key) { _key = Key; _list = new List <XlRegistryEntry>(); RegistryKey rk = null; if (regType == XlRegistryType.HKEY_CURRENT_USER) { rk = Registry.CurrentUser.OpenSubKey(_key, false); } else { rk = Registry.LocalMachine.OpenSubKey(_key, false); } if (null != rk) { string[] Values = rk.GetValueNames(); foreach (string Value in Values) { XlRegistryEntry Entry = null; RegistryValueKind rvk = rk.GetValueKind(Value); object o = rk.GetValue(Value); Entry = new XlRegistryEntry(Value, o, rvk); _list.Add(Entry); } rk.Close(); } }
internal XlRegistryKeys(XlRegistryType regType, string Key) { _key = Key; _list = new List <XlRegistryKey>(); _regType = regType; RegistryKey rk; if (_regType == XlRegistryType.HKEY_CURRENT_USER) { rk = Registry.CurrentUser.OpenSubKey(_key, false); } else { rk = Registry.LocalMachine.OpenSubKey(_key, false); } if (null != rk) { string[] Subkeys = rk.GetSubKeyNames(); foreach (string sKey in Subkeys) { XlRegistryKey NewKey = new XlRegistryKey(regType, _key + "\\" + sKey); _list.Add(NewKey); } rk.Close(); } }
internal XlRegistryKey(XlRegistryType regType, string RootKey) { _regType = regType; _Key = RootKey; _Name = RootKey.Substring(RootKey.LastIndexOf(@"\", StringComparison.Ordinal) + 1); _entries = new XlRegistryEntries(_regType, _Key); _subKeys = new XlRegistryKeys(regType, _Key); }