Beispiel #1
0
        public static object GetRegistryValue(EnumRegistryCategory category, string subkey, string valueName)
        {
            if (!string.IsNullOrEmpty(subkey) && !string.IsNullOrEmpty(valueName))
            {
                object      v   = null;
                RegistryKey key = null;
                switch (category)
                {
                case EnumRegistryCategory.ClassRoot:
                    key = Registry.ClassesRoot.OpenSubKey(subkey, false);
                    break;

                case EnumRegistryCategory.CurrentConfig:
                    key = Registry.CurrentConfig.OpenSubKey(subkey, false);
                    break;

                case EnumRegistryCategory.CurrentUser:
                    key = Registry.CurrentUser.OpenSubKey(subkey, false);
                    break;

                case EnumRegistryCategory.DynData:
                    key = Registry.DynData.OpenSubKey(subkey, false);
                    break;

                case EnumRegistryCategory.LocalMachine:
                    key = Registry.LocalMachine.OpenSubKey(subkey, false);
                    break;

                case EnumRegistryCategory.PerformanceData:
                    key = Registry.PerformanceData.OpenSubKey(subkey, false);
                    break;

                case EnumRegistryCategory.Users:
                    key = Registry.Users.OpenSubKey(subkey, false);
                    break;
                }
                if (key != null)
                {
                    try
                    {
                        v = key.GetValue(valueName);
                    }
                    catch
                    {
                        throw;
                    }
                    finally
                    {
                        key.Close();
                    }
                    return(v);
                }
            }
            return(null);
        }
Beispiel #2
0
        public static void SetRegistryValue(EnumRegistryCategory category, string subkey, string valueName, object value)
        {
            if (!string.IsNullOrEmpty(subkey) && !string.IsNullOrEmpty(valueName))
            {
                RegistryKey key = null;
                switch (category)
                {
                case EnumRegistryCategory.ClassRoot:
                    key = Registry.ClassesRoot.CreateSubKey(subkey);
                    break;

                case EnumRegistryCategory.CurrentConfig:
                    key = Registry.CurrentConfig.CreateSubKey(subkey);
                    break;

                case EnumRegistryCategory.CurrentUser:
                    key = Registry.CurrentUser.CreateSubKey(subkey);
                    break;

                case EnumRegistryCategory.DynData:
                    key = Registry.DynData.CreateSubKey(subkey);
                    break;

                case EnumRegistryCategory.LocalMachine:
                    key = Registry.LocalMachine.CreateSubKey(subkey);
                    break;

                case EnumRegistryCategory.PerformanceData:
                    key = Registry.PerformanceData.CreateSubKey(subkey);
                    break;

                case EnumRegistryCategory.Users:
                    key = Registry.Users.CreateSubKey(subkey);
                    break;
                }
                if (key != null)
                {
                    try
                    {
                        key.SetValue(valueName, value);
                    }
                    catch
                    {
                        throw;
                    }
                    finally
                    {
                        key.Close();
                    }
                }
            }
        }