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); }
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); }
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); }