当前位置: 移动技术网 > IT编程>开发语言>.net > C#实现注册表 LocalMachine 目录下CURD工具类

C#实现注册表 LocalMachine 目录下CURD工具类

2018年08月07日  | 移动技术网IT编程  | 我要评论

安徽日报农村版,马晓晴背后高官是谁,顶上人家

【1】注册表是什么?
         百度百科 https://baike.baidu.com/item/%E6%B3%A8%E5%86%8C%E8%A1%A8/101856?fr=aladdin

【2】怎么打开注册表?
         Windows+R >>>>>> regedit

【3】C# 源码 

       

  1 /// <summary>
  2     /// 注册表 CURD 
  3     /// 在LocalMachine 目录文件下
  4     /// </summary>
  5     public class RegeditUtils
  6     {
  7         /// <summary>
  8         /// 注册信息节点是否存在
  9         /// </summary>
 10         /// <param name="key">"SOFTWARE\\Microsoft"格式</param>
 11         /// <returns></returns>
 12         public static bool IsExsits(string key)
 13         {
 14             var indicator = true;
 15             if (Registry.LocalMachine.OpenSubKey(key) == null)
 16             {
 17                 indicator = false;
 18             }
 19             return indicator;
 20         }
 21         /// <summary>
 22         /// 创建注册信息
 23         /// </summary>
 24         /// <param name="key">"SOFTWARE\\Microsoft"格式</param>
 25         public static void Create(string key)
 26         {
 27             Registry.LocalMachine.CreateSubKey(key);
 28         }
 29         /// <summary>
 30         /// 更新注册表字段值
 31         /// </summary>
 32         /// <param name="rsg">传入注册表节点</param>
 33         /// <param name="name">节点内字段名称</param>
 34         /// <param name="value">需要设置的值</param>
 35         public static void Update(RegistryKey rsg,string name,string value)
 36         {
 37             if (rsg!=null)
 38             {
 39                 if (!string.IsNullOrEmpty(name))
 40                 {
 41                     rsg.SetValue(name, value);  //写入
 42                 }
 43                 rsg.Close();  //关闭
 44             }
 45         }
 46         /// <summary>
 47         /// 获取注册表节点实体
 48         /// </summary>
 49         /// <param name="key">"SOFTWARE\\Microsoft"格式</param>
 50         /// <returns></returns>
 51         public static RegistryKey Read(string key)
 52         {
 53             RegistryKey rsg = Registry.LocalMachine.OpenSubKey(key, true);
 54             return rsg;
 55         }
 56 
 57         /// <summary>
 58         /// 获取注册表节点实体内某个属性的值
 59         /// </summary>
 60         /// <param name="key">"SOFTWARE\\Microsoft"格式</param>
 61         /// <param name="prop">传入属性的键值</param>
 62         /// <returns></returns>
 63         public static string ReadPropValue(string key,string prop)
 64         {
 65             var res = "";
 66             RegistryKey rsg = Registry.LocalMachine.OpenSubKey(key, true);
 67             if (rsg!=null)
 68             {
 69                 var obj =  rsg.GetValue(prop);
 70                 if (obj!=null)
 71                 {
 72                     res = obj.ToString();
 73                 }
 74             }
 75             return res;
 76         }
 77         /// <summary>
 78         /// 删除注册表节点
 79         /// 
 80         /// </summary>
 81         /// <param name="key">"SOFTWARE\\Microsoft"格式</param>
 82         public static void Delete(string key)
 83         {
 84             if (IsExsits(key))
 85             {
 86                 Registry.LocalMachine.DeleteSubKey(key);
 87             }
 88         }
 89 
 90         /// <summary>
 91         /// 创建注册表节点,并对相应字段赋值
 92         /// </summary>
 93         /// <param name="key">节点</param>
 94         /// <param name="name">属性名称</param>
 95         /// <param name="value">值</param>
 96         public static void CreateRegedit(string key, string name, string value)
 97         {
 98             try
 99             {
100 
101                 //判断当前节点是否存在
102                 if (!IsExsits(key))
103                 {
104                     //不存在该节点,创建节点
105                     Create(key);
106                 }
107                 //获取该节点
108                 var rsg = Read(key);
109                 //该节点字段属性赋值
110                 Update(rsg, name, value);
111             }
112             catch (Exception ex)
113             {
114                 Log.Error(ex);
115             }
116 
117         }
118     }

 此博文为原创,转载请注明出处!!!!!  

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网