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();
            }
        }
Beispiel #3
0
        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);
        }