Beispiel #1
0
 public static bool CreateKey(RegRoot root, string keyName)
 {
     try
     {
         using (var key = root.GetKey().OpenSubKey(keyName, true))
         {
             if (key != null)
             {
                 return(true);
             }
         }
         using (var key = root.GetKey().CreateSubKey(keyName, true))
         {
             if (key == null)
             {
                 return(false);
             }
             return(true);
         }
     }
     catch
     {
         return(false);
     }
 }
Beispiel #2
0
        public static object?ReadValue(RegRoot root, string keyName, string valueName, object?defaultValue = null)
        {
            try
            {
                using (var key = root.GetKey().OpenSubKey(keyName, false))
                {
                    if (key == null)
                    {
                        return(defaultValue);
                    }

                    object?value = key.GetValue(valueName);

                    if (value == null)
                    {
                        return(defaultValue);
                    }

                    return(value);
                }
            }
            catch
            {
                return(defaultValue);
            }
        }
Beispiel #3
0
        public static bool DeleteKey(RegRoot root, string keyName)
        {
            try
            {
                root.GetKey().DeleteSubKey(keyName, true);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #4
0
 public static string[]? EnumKey(RegRoot root, string keyName)
 {
     try
     {
         using (var key = root.GetKey().OpenSubKey(keyName, false))
         {
             return(key !.GetSubKeyNames());
         }
     }
     catch
     {
         return(null);
     }
 }
Beispiel #5
0
        public static RegistryValueKind GetValueType(RegRoot root, string keyName, string valueName)
        {
            try
            {
                using (var key = root.GetKey().OpenSubKey(keyName, false))
                {
                    if (key == null)
                    {
                        return(RegistryValueKind.Unknown);
                    }

                    return(key.GetValueKind(valueName));
                }
            }
            catch
            {
                return(RegistryValueKind.Unknown);
            }
        }
Beispiel #6
0
        public static bool DeleteValue(RegRoot root, string keyName, string valueName)
        {
            try
            {
                using (var key = root.GetKey().OpenSubKey(keyName, true))
                {
                    if (key == null)
                    {
                        return(false);
                    }

                    key.DeleteValue(valueName);

                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
Beispiel #7
0
        public static bool WriteValue(RegRoot root, string keyName, string valueName, RegistryValueKind type, object data)
        {
            try
            {
                CreateKey(root, keyName);

                using (var key = root.GetKey().OpenSubKey(keyName, true))
                {
                    if (key == null)
                    {
                        return(false);
                    }

                    key.SetValue(valueName, data, type);

                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }