public RegistryKeyEx OpenSubKey(string subkey, RegistryViewEx view = RegistryViewEx.Default) { if (view == RegistryViewEx.Registry64 && !Is64BitOperatingSystem) { return(null); } Win32Registry.RegSAM samView = 0; if (view == RegistryViewEx.Registry32 && IntPtr.Size == 8) // Laisser défault, si on tourne pas en x64 { samView = Win32Registry.RegSAM.WOW64_32Key; } else if (view == RegistryViewEx.Registry64) { samView = Win32Registry.RegSAM.WOW64_64Key; } uint hKey = 0; uint err = Win32Registry.RegOpenKeyEx(unchecked ((uint)_hKey), subkey, 0, Win32Registry.RegSAM.Read | Win32Registry.RegSAM.EnumerateSubKeys | samView, out hKey); if (err != 0) { return(null); } return(new RegistryKeyEx(hKey)); }
public static object GetRegistryValue(string keyName, string valueName, RegistryViewEx view = RegistryViewEx.Default) { if (view == RegistryViewEx.Registry64 && !Is64BitOperatingSystem) { return(null); } string str; RegistryKeyEx key2 = GetBaseKeyFromKeyName(keyName, out str).OpenSubKey(str, view); if (key2 == null) { return(null); } object obj2; try { obj2 = key2.GetValue(valueName); } finally { key2.Close(); } if (obj2 == null) { return(null); } return(obj2); }
public static bool SetValue(string keyName, string valueName, object value, RegistryViewEx view = RegistryViewEx.Default) { string str; RegistryKeyEx key2 = GetBaseKeyFromKeyName(keyName, out str).OpenWritableSubKey(str, view); if (key2 == null) { return(false); } bool ret = false; try { ret = key2.SetValue(valueName, value); } finally { key2.Close(); } return(ret); }
public static object GetRegistryValue(RegistryKeyEx hive, string keyName, string valueName, RegistryViewEx view = RegistryViewEx.Default) { if (view == RegistryViewEx.Registry64 && !Is64BitOperatingSystem) { return(null); } RegistryKeyEx key2 = hive.OpenSubKey(keyName, view); if (key2 == null) { return(null); } object obj2; try { obj2 = key2.GetValue(valueName); } finally { key2.Close(); } if (obj2 == null) { return(null); } return(obj2); }