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


【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 /// 
  2     /// 注册表 CURD 
  3     /// 在LocalMachine 目录文件下
  4     /// 
  5     public class RegeditUtils
  6     {
  7         /// 
  8         /// 注册信息节点是否存在
  9         /// 
 10         /// "SOFTWARE\\Microsoft"格式
 11         /// 
 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         /// 
 22         /// 创建注册信息
 23         /// 
 24         /// "SOFTWARE\\Microsoft"格式
 25         public static void Create(string key)
 26         {
 27             Registry.LocalMachine.CreateSubKey(key);
 28         }
 29         /// 
 30         /// 更新注册表字段值
 31         /// 
 32         /// 传入注册表节点
 33         /// 节点内字段名称
 34         /// 需要设置的值
 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         /// 
 47         /// 获取注册表节点实体
 48         /// 
 49         /// "SOFTWARE\\Microsoft"格式
 50         /// 
 51         public static RegistryKey Read(string key)
 52         {
 53             RegistryKey rsg = Registry.LocalMachine.OpenSubKey(key, true);
 54             return rsg;
 55         }
 56 
 57         /// 
 58         /// 获取注册表节点实体内某个属性的值
 59         /// 
 60         /// "SOFTWARE\\Microsoft"格式
 61         /// 传入属性的键值
 62         /// 
 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         /// 
 78         /// 删除注册表节点
 79         /// 
 80         /// 
 81         /// "SOFTWARE\\Microsoft"格式
 82         public static void Delete(string key)
 83         {
 84             if (IsExsits(key))
 85             {
 86                 Registry.LocalMachine.DeleteSubKey(key);
 87             }
 88         }
 89 
 90         /// 
 91         /// 创建注册表节点,并对相应字段赋值
 92         /// 
 93         /// 节点
 94         /// 属性名称
 95         /// 
 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     }

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

相关