• 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 /// <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     }

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

  • 相关阅读:
    删除maven本地库中下载不完全的jar包
    nginx负载均衡
    对字符串中的中英文进行统计
    springboot部分常用注解
    Scala 泛型
    Scala 递归举例
    Kafka(v0.11)笔记
    Scala 匿名函数与参数类型推断(简写)
    Scala 高阶函数
    Scala 偏函数 PartialFunction
  • 原文地址:https://www.cnblogs.com/obchy/p/9429295.html
Copyright © 2020-2023  润新知