using Microsoft.Win32; using System; using System.Globalization; namespace Globale_Variablen.Global { public class XNRegistry { protected bool m_bOpen; protected RegistryKey m_key; protected string m_StrBase; public XNRegistry() { this.m_bOpen = false; } public XNRegistry(string key) { this.m_bOpen = false; this.OpenHKLM(key); } public double GetVal(string section, string entry, double stdval) { if (!this.m_bOpen) { return stdval; } try { CultureInfo info = new CultureInfo(""); string defaultValue = Convert.ToString(stdval, info.NumberFormat); double num = stdval; RegistryKey key = this.OpenKey(section, false); if (key == null) { return stdval; } num = Convert.ToDouble(key.GetValue(entry, defaultValue).ToString(), info.NumberFormat); key.Close(); return num; } catch { return stdval; } } public object GetVal(string section, string entry, object stdval) { if (!this.m_bOpen) { return stdval; } try { RegistryKey key = this.OpenKey(section, false); if (key == null) { return stdval; } object obj2 = key.GetValue(entry, stdval); key.Close(); return obj2; } catch { return stdval; } } public float GetVal(string section, string entry, float stdval) { if (!this.m_bOpen) { return stdval; } try { CultureInfo info = new CultureInfo(""); string defaultValue = Convert.ToString(stdval, info.NumberFormat); float num = stdval; RegistryKey key = this.OpenKey(section, false); if (key == null) { return stdval; } num = Convert.ToSingle(key.GetValue(entry, defaultValue).ToString(), info.NumberFormat); key.Close(); return num; } catch { return stdval; } } public bool IsOpen() { return this.m_bOpen; } public bool OpenHKCU(string key) { this.m_key = Registry.CurrentUser; return this.m_bOpen; } public bool OpenHKLM(string key) { this.m_key = Registry.LocalMachine; this.m_StrBase = @"SOFTWARE\" + key; try { this.m_key.CreateSubKey(this.m_StrBase); this.m_bOpen = true; } catch { this.m_bOpen = false; } return this.m_bOpen; } public RegistryKey OpenKey(string key, bool bWrite) { if (!this.m_bOpen) { return null; } RegistryKey key2 = null; try { string strBase = this.m_StrBase; if (key.Length != 0) { strBase = strBase + @"\" + key; } if (bWrite) { return this.m_key.CreateSubKey(strBase); } key2 = this.m_key.OpenSubKey(strBase); } catch { return null; } return key2; } public bool SetVal(string section, string entry, double val) { if (!this.m_bOpen) { return false; } try { CultureInfo info = new CultureInfo(""); string str = Convert.ToString(val, info.NumberFormat); RegistryKey key = this.OpenKey(section, true); if (key == null) { return false; } key.SetValue(entry, str); key.Close(); return true; } catch { return false; } } public bool SetVal(string section, string entry, object val) { if (!this.m_bOpen) { return false; } try { RegistryKey key = this.OpenKey(section, true); if (key == null) { return false; } key.SetValue(entry, val); key.Close(); return true; } catch { return false; } } public bool SetVal(string section, string entry, float val) { if (!this.m_bOpen) { return false; } try { CultureInfo info = new CultureInfo(""); string str = Convert.ToString(val, info.NumberFormat); RegistryKey key = this.OpenKey(section, true); if (key == null) { return false; } key.SetValue(entry, str); key.Close(); return true; } catch { return false; } } } }