public static List <RegKey> GetSubKeys(RegistryKey key)
        {
            int subKeyCount = key.SubKeyCount;

            if (subKeyCount == 0)
            {
                return(new List <RegKey>());
            }

            List <RegKey> subKeys = new List <RegKey>(subKeyCount);

            string[] subKeyNames = key.GetSubKeyNames();
            for (int i = 0; i < subKeyNames.Length; i++)
            {
                try
                {
                    string keyName = subKeyNames[i];
                    RegKey item    = new RegKey(keyName, key.OpenSubKey(keyName));
                    subKeys.Add(item);
                }
                catch { }
            }

            return(subKeys);
        }
Exemple #2
0
 public static bool DeleteValue(string key, string value)
 {
     try
     {
         RegKey regKey = RegKey.Parse(key, true);
         regKey.Key.DeleteValue(value, false);
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #3
0
 public static bool DeleteKey(string key)
 {
     try
     {
         RegKey child  = RegKey.Parse(key);
         RegKey parent = RegKey.Parse(child.Parent, true);
         parent.Key.DeleteSubKeyTree(child.Name);
     }
     catch
     {
         return(false);
     }
     return(true);
 }