public static bool SetRegistryValue <T>(RegistryKey registryKey, string subkeyName, string valueName, T value, RegistryValueKind valueKind) { RegistryKey registrySubkey = RegistryHelper.OpenSubkey(registryKey, subkeyName, true); if (registrySubkey == null) { if ((object)value == null) { return(true); } if (RegistryHelper.RegistryExceptionWrapper((Action)(() => registrySubkey = registryKey.CreateSubKey(subkeyName))) != null) { return(false); } } if (registrySubkey == null) { return(false); } try { return(((object)value != null ? RegistryHelper.RegistryExceptionWrapper((Action)(() => registrySubkey.SetValue(valueName, (object)(T)value, valueKind))) : RegistryHelper.RegistryExceptionWrapper((Action)(() => registrySubkey.DeleteValue(valueName, false)))) == null); } finally { registrySubkey.Close(); } }
public static IEnumerable <T> RetrieveAllRegistrySubkeyValues <T>(RegistryKey registryKey, string subkeyName) { List <T> list = new List <T>(); RegistryKey registryKey1 = RegistryHelper.OpenSubkey(registryKey, subkeyName, false); if (registryKey1 != null) { using (registryKey1) { foreach (RegistryKey registryKey2 in RegistryHelper.GetSubkeys(registryKey1)) { RegistryKey subSubkey = registryKey2; using (subSubkey) { string[] registryValueNames = (string[])null; if (RegistryHelper.RegistryExceptionWrapper((Action)(() => registryValueNames = subSubkey.GetValueNames())) == null) { foreach (string valueName in registryValueNames) { object source = RegistryHelper.RetrieveRegistryValue <object>(subSubkey, valueName); if (source != null) { T obj = TypeHelper.ConvertType <T>(source); list.Add(obj); } } } } } } } return((IEnumerable <T>)list); }
public static RegistryKey OpenSubkey(RegistryKey registryKey, string subkeyName, bool writable = false) { RegistryKey registrySubkey = (RegistryKey)null; RegistryHelper.RegistryExceptionWrapper((Action)(() => registrySubkey = registryKey.OpenSubKey(subkeyName, writable))); return(registrySubkey); }
public static IEnumerable <string> GetSubkeyNames(RegistryKey registryKey) { string[] subkeyNames = (string[])null; RegistryHelper.RegistryExceptionWrapper((Action)(() => subkeyNames = registryKey.GetSubKeyNames())); if (subkeyNames != null) { return((IEnumerable <string>)subkeyNames); } return(Enumerable.Empty <string>()); }
public static T RetrieveRegistryValue <T>(RegistryKey registryKey, string valueName, T defaultValue) { object registryValue = (object)null; RegistryHelper.RegistryExceptionWrapper((Action)(() => registryValue = registryKey.GetValue(valueName))); if (registryValue != null) { return(TypeHelper.ConvertType <T>(registryValue)); } return(defaultValue); }