[转载]c#读写注册表
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1 using system;
2 using system.collections;
3 using system.configuration;
4 using system.data;
5 using system.web;
6 using system.web.security;
7 using system.web.ui;
8 using system.web.ui.htmlcontrols;
9 using system.web.ui.webcontrols;
10 using system.web.ui.webcontrols.webparts;
11 using microsoft.win32;
12 public partial class register : system.web.ui.page
13 {
14 protected void page_load(object sender, eventargs e)
15 {
16 response.write("这里是读取到的信息"+"<br/>");
17 readregedit();
18 response.write("<br/>");
19 response.write("这里将要写入信息swort/swort-test" + "<br/>");
20 writeregedit();
21 response.write("写入结束" + "<br/>");
22 response.write("查看存在与否" + "<br/>");
23 existsregedit();
24 response.write("查看结束" + "<br/>");
25 response.write("删除" + "<br/>");
26 deleteregedit();
27 response.write("删除结束" + "<br/>");
28 response.write("查看存在与否" + "<br/>");
29 existsregedit();
30 response.write("查看结束" + "<br/>");
31 }
32 /// <summary>
33 /// 注册表的读取
34 /// </summary>
35 /// <returns></returns>
36 public void readregedit()
37 {
38 registrykey rk = registry.currentuser;
39 registrykey software = rk.opensubkey("software");
40 registrykey microsoft = software.opensubkey("microsoft");
41 registrykey windows = microsoft.opensubkey("windows");
42 registrykey current = windows.opensubkey("currentversion");
43 registrykey explorer = current.opensubkey("explorer");
44 registrykey shell = explorer.opensubkey(@"shell folders");
45 foreach (string b in shell.getvaluenames())//这里用shell.getvaluenames()不是shell.getsubkeynames()
46 {
47 response.write( b+" "+ shell.getvalue(b).tostring());
48 response.write("<br/>");
49
50 }
51
52
53 }
54 /// <summary>
55 /// 注册表的写入
56 /// </summary>
57 /// <returns></returns>
58 public bool writeregedit()
59 {
60 try
61 {
62 registrykey rk = registry.currentuser;
63 registrykey software = rk.opensubkey("software");
64 registrykey microsoft = software.opensubkey("microsoft");
65 registrykey windows = microsoft.opensubkey("windows");
66 registrykey current = windows.opensubkey("currentversion");
67 registrykey explorer = current.opensubkey("explorer");
68 registrykey shell = explorer.opensubkey(@"shell folders", true);//这里必须加true就是得到写入权限
69 registrykey key = shell.createsubkey("swort");//创建swort目录
70 key.setvalue("swort", "test");
71 //在swort目录下建立写入swort test
72 response.write("写入成功!!!!!!!!!");
73 return true;
74 }
75 catch
76 {
77 return false;
78 }
79
80 }
81 /// <summary>
82 /// 注册表的删除
83 /// </summary>
84 /// <returns></returns>
85 public bool deleteregedit()
86 {
87 try
88 {
89 registrykey rk = registry.currentuser;
90 registrykey software = rk.opensubkey("software");
91 registrykey microsoft = software.opensubkey("microsoft");
92 registrykey windows = microsoft.opensubkey("windows");
93 registrykey current = windows.opensubkey("currentversion");
94 registrykey explorer = current.opensubkey("explorer");
95 registrykey shell = explorer.opensubkey(@"shell folders",true);
96 registrykey swort = shell.opensubkey("swort",true);//这里必须加true就是得到写入权限
97 swort.deletevalue("swort");//删除swort的值 这个连键值一起删除了 剩下一个
98 shell.deletesubkey("swort",false);//删除swort这个目录 要删除这个目录 必须具有权限
99
100 response.write("删除成功!!!!!!!!!");
101 return true;
102 }
103 catch
104 {
105 return false;
106 }
107 return true;
108 }
109 /// <summary>
110 /// 查询某个键值是否存在
111 /// </summary>
112 /// <returns></returns>
113 public bool existsregedit()
114 {
115 registrykey rk = registry.currentuser;
116 registrykey software = rk.opensubkey("software");
117 registrykey microsoft = software.opensubkey("microsoft");
118 registrykey windows = microsoft.opensubkey("windows");
119 registrykey current = windows.opensubkey("currentversion");
120 registrykey explorer = current.opensubkey("explorer");
121 registrykey shell = explorer.opensubkey(@"shell folders");
122 if (shell.subkeycount != 0)
123 {
124 registrykey swort = shell.opensubkey("swort");
125 foreach (string b in swort.getvaluenames())
126 {
127 if (b == "swort")
128 {
129 response.write("存在这个键!");
130 return true;
131 }
132
133 }
134 response.write("不存在这个键!");
135 return false;
136 }
137 else
138 { response.write("不存在这个键!");
139 return false;
140 }
141 }
142 }
143 //转载:来源:http://blog.csdn.net/swort_177
144
145
kl大