【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 }
此博文为原创,转载请注明出处!!!!!