Ejemplo n.º 1
0
        /// <summary>
        /// 获取注册表中对应值数据类型
        /// </summary>
        /// <param name="regValueKind">注册表数据类型</param>
        /// <returns>对应数据类型</returns>
        private static RegistryValueKind GetRegValueKind(ERegValueKind regValueKind)
        {
            switch (regValueKind)
            {
            case ERegValueKind.Unknown:
            {
                return(RegistryValueKind.Unknown);
            }

            case ERegValueKind.String:
            {
                return(RegistryValueKind.String);
            }

            case ERegValueKind.ExpandString:
            {
                return(RegistryValueKind.ExpandString);
            }

            case ERegValueKind.Binary:
            {
                return(RegistryValueKind.Binary);
            }

            case ERegValueKind.DWord:
            {
                return(RegistryValueKind.DWord);
            }

            case ERegValueKind.MultiString:
            {
                return(RegistryValueKind.MultiString);
            }

            case ERegValueKind.QWord:
            {
                return(RegistryValueKind.QWord);
            }

            default:
            {
                return(RegistryValueKind.String);
            }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 设置指定的键值内容
        /// </summary>
        /// <param name="regDomain">注册表基项域</param>
        /// <param name="subItem">注册表项名称</param>
        /// <param name="regKey">键值名称</param>
        /// <param name="valueKind">键值类型</param>
        /// <param name="value">键值内容</param>
        /// <returns>执行情况</returns>
        public static bool CF_WriteRegeditKey(ERegDomain regDomain, string subItem, string regKey, ERegValueKind valueKind, object value)
        {
            //判断键值名称是否为空
            if (string.IsNullOrWhiteSpace(regKey))
            {
                return(false);
            }

            //判断注册表项是否存在
            if (!CF_ExistSubItem(regDomain, subItem))
            {
                CF_CreateSubItem(regDomain, subItem);
            }

            //以可写方式打开注册表项
            using (RegistryKey key = OpenSubKey(regDomain, subItem, true))
            {
                //注册表项打开失败
                if (key == null)
                {
                    return(false);
                }

                try
                {
                    key.SetValue(regKey, value, GetRegValueKind(valueKind));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(true);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 设置指定的键值内容
 /// </summary>
 /// <param name="regDomain">注册表基项域</param>
 /// <param name="subItem">注册表项名称</param>
 /// <param name="regKey">键值名称</param>
 /// <param name="valueKind">键值类型</param>
 /// <param name="value">键值内容</param>
 /// <returns>执行情况</returns>
 public static bool CF_WriteRegeditKey(this ERegDomain regDomain, string subItem, string regKey, ERegValueKind valueKind, object value)
 {
     return(RegOperate.CF_WriteRegeditKey(regDomain, subItem, regKey, valueKind, value));
 }