Beispiel #1
0
        private void RecurseSubKeys(string regPath)
        {
            var regEntry = new RegistryEntry(regPath);

            if (regEntry.RegistryKey == null)
            {
                return;
            }

            var alreadyAdded = RegistryEntries.Contains(regEntry);

            if (alreadyAdded)
            {
                regEntry = RegistryEntries[RegistryEntries.IndexOf(regEntry)];
            }

            // Add all values
            regEntry.AddValues();

            if (!alreadyAdded)
            {
                RegistryEntries.Add(regEntry);
            }

            foreach (var subKeyPath in regEntry.RegistryKey.GetSubKeyNames().Select(subKey => regPath + "\\" + subKey))
            {
                RecurseSubKeys(subKeyPath);
            }
        }