1 ///<summary>
2 /// 注册表操作类
3 ///
4 /// 主要包括以下操作:
5 /// 1.创建注册表项
6 /// 2.读取注册表项
7 /// 3.判断注册表项是否存在
8 /// 4.删除注册表项
9 /// 5.创建注册表键值
10 /// 6.读取注册表键值
11 /// 7.判断注册表键值是否存在
12 /// 8.删除注册表键值
13 ///
14 /// 版本:1.0
15 ///</summary>
16 publicclass Register
17 {
18 #region 字段定义
19 /// <summary>
20 /// 注册表项名称
21 ///</summary>
22 privatestring _subkey;
23 ///<summary>
24 /// 注册表基项域
25 ///</summary>
26 private RegDomain _domain;
27 ///<summary>
28 /// 注册表键值
29 ///</summary>
30 privatestring _regeditkey;
31 #endregion
32
33 #region 属性
34 /// <summary>
35 /// 设置注册表项名称
36 ///</summary>
37 publicstring SubKey
38 {
39 //get { return _subkey; }
40 set { _subkey= value; }
41 }
42
43 /// <summary>
44 /// 注册表基项域
45 ///</summary>
46 public RegDomain Domain
47 {
48 ///get { return _domain; }
49 set { _domain= value; }
50 }
51
52 /// <summary>
53 /// 注册表键值
54 ///</summary>
55 publicstring RegeditKey
56 {
57 ///get{return _regeditkey;}
58 set { _regeditkey= value; }
59 }
60 #endregion
61
62 #region 构造函数
63 public Register()
64 {
65 ///默认注册表项名称
66 _subkey ="software\\" ;
67 ///默认注册表基项域
68 _domain = RegDomain.LocalMachine;
69 }
70
71 /// <summary>
72 /// 构造函数
73 ///</summary>
74 /// <param name="subKey">注册表项名称</param>
75 /// <param name="regDomain">注册表基项域</param>
76 public Register(string subKey, RegDomain regDomain)
77 {
78 ///设置注册表项名称
79 _subkey = subKey;
80 ///设置注册表基项域
81 _domain = regDomain;
82 }
83 #endregion
84
85 #region 公有方法
86 #region 创建注册表项
87 /// <summary>
88 /// 创建注册表项,默认创建在注册表基项 HKEY_LOCAL_MACHINE下面(请先设置SubKey属性)
89 /// 虚方法,子类可进行重写
90 ///</summary>
91 publicvirtual void CreateSubKey()
92 {
93 ///判断注册表项名称是否为空,如果为空,返回false
94 if (_subkey== string.Empty|| _subkey == null )
95 {
96 return ;
97 }
98
99 ///创建基于注册表基项的节点
100 RegistryKey key = GetRegDomain(_domain);
101
102 ///要创建的注册表项的节点
103 RegistryKey sKey;
104 if (! IsSubKeyExist())
105 {
106 sKey = key.CreateSubKey(_subkey);
107 }
108 //sKey.Close();
109 ///关闭对注册表项的更改
110 key.Close();
111 }
112
113 /// <summary>
114 /// 创建注册表项,默认创建在注册表基项 HKEY_LOCAL_MACHINE下面
115 /// 虚方法,子类可进行重写
116 /// 例子:如subkey是software\\higame\\,则将创建HKEY_LOCAL_MACHINE\\software\\higame\\注册表项
117 ///</summary>
118 /// <param name="subKey">注册表项名称</param>
119 publicvirtual void CreateSubKey(string subKey)
120 {
121 ///判断注册表项名称是否为空,如果为空,返回false
122 if (subKey== string.Empty|| subKey == null )
123 {
124 return ;
125 }
126
127 ///创建基于注册表基项的节点
128 RegistryKey key = GetRegDomain(_domain);
129
130 ///要创建的注册表项的节点
131 RegistryKey sKey;
132 if (! IsSubKeyExist(subKey))
133 {
134 sKey = key.CreateSubKey(subKey);
135 }
136 //sKey.Close();
137 ///关闭对注册表项的更改
138 key.Close();
139 }
140
141 /// <summary>
142 /// 创建注册表项,默认创建在注册表基项 HKEY_LOCAL_MACHINE下面
143 /// 虚方法,子类可进行重写
144 ///</summary>
145 /// <param name="regDomain">注册表基项域</param>
146 publicvirtual void CreateSubKey(RegDomain regDomain)
147 {
148 ///判断注册表项名称是否为空,如果为空,返回false
149 if (_subkey== string.Empty|| _subkey == null )
150 {
151 return ;
152 }
153
154 ///创建基于注册表基项的节点
155 RegistryKey key = GetRegDomain(regDomain);
156
157 ///要创建的注册表项的节点
158 RegistryKey sKey;
159 if (! IsSubKeyExist(regDomain))
160 {
161 sKey = key.CreateSubKey(_subkey);
162 }
163 //sKey.Close();
164 ///关闭对注册表项的更改
165 key.Close();
166 }
167
168 /// <summary>
169 /// 创建注册表项(请先设置SubKey属性)
170 /// 虚方法,子类可进行重写
171 /// 例子:如regDomain是HKEY_LOCAL_MACHINE,subkey是software\\higame\\,则将创建HKEY_LOCAL_MACHINE\\software\\higame\\注册表项
172 ///</summary>
173 /// <param name="subKey">注册表项名称</param>
174 /// <param name="regDomain">注册表基项域</param>
175 publicvirtual void CreateSubKey(string subKey, RegDomain regDomain)
176 {
177 ///判断注册表项名称是否为空,如果为空,返回false
178 if (subKey== string.Empty|| subKey == null )
179 {
180 return ;
181 }
182
183 ///创建基于注册表基项的节点
184 RegistryKey key = GetRegDomain(regDomain);
185
186 ///要创建的注册表项的节点
187 RegistryKey sKey;
188 if (! IsSubKeyExist(subKey, regDomain))
189 {
190 sKey = key.CreateSubKey(subKey);
191 }
192 //sKey.Close();
193 ///关闭对注册表项的更改
194 key.Close();
195 }
196 #endregion
197
198 #region 判断注册表项是否存在
199 /// <summary>
200
2 /// 注册表操作类
3 ///
4 /// 主要包括以下操作:
5 /// 1.创建注册表项
6 /// 2.读取注册表项
7 /// 3.判断注册表项是否存在
8 /// 4.删除注册表项
9 /// 5.创建注册表键值
10 /// 6.读取注册表键值
11 /// 7.判断注册表键值是否存在
12 /// 8.删除注册表键值
13 ///
14 /// 版本:1.0
15 ///</summary>
16 publicclass Register
17 {
18 #region 字段定义
19 /// <summary>
20 /// 注册表项名称
21 ///</summary>
22 privatestring _subkey;
23 ///<summary>
24 /// 注册表基项域
25 ///</summary>
26 private RegDomain _domain;
27 ///<summary>
28 /// 注册表键值
29 ///</summary>
30 privatestring _regeditkey;
31 #endregion
32
33 #region 属性
34 /// <summary>
35 /// 设置注册表项名称
36 ///</summary>
37 publicstring SubKey
38 {
39 //get { return _subkey; }
40 set { _subkey= value; }
41 }
42
43 /// <summary>
44 /// 注册表基项域
45 ///</summary>
46 public RegDomain Domain
47 {
48 ///get { return _domain; }
49 set { _domain= value; }
50 }
51
52 /// <summary>
53 /// 注册表键值
54 ///</summary>
55 publicstring RegeditKey
56 {
57 ///get{return _regeditkey;}
58 set { _regeditkey= value; }
59 }
60 #endregion
61
62 #region 构造函数
63 public Register()
64 {
65 ///默认注册表项名称
66 _subkey ="software\\" ;
67 ///默认注册表基项域
68 _domain = RegDomain.LocalMachine;
69 }
70
71 /// <summary>
72 /// 构造函数
73 ///</summary>
74 /// <param name="subKey">注册表项名称</param>
75 /// <param name="regDomain">注册表基项域</param>
76 public Register(string subKey, RegDomain regDomain)
77 {
78 ///设置注册表项名称
79 _subkey = subKey;
80 ///设置注册表基项域
81 _domain = regDomain;
82 }
83 #endregion
84
85 #region 公有方法
86 #region 创建注册表项
87 /// <summary>
88 /// 创建注册表项,默认创建在注册表基项 HKEY_LOCAL_MACHINE下面(请先设置SubKey属性)
89 /// 虚方法,子类可进行重写
90 ///</summary>
91 publicvirtual void CreateSubKey()
92 {
93 ///判断注册表项名称是否为空,如果为空,返回false
94 if (_subkey== string.Empty|| _subkey == null )
95 {
96 return ;
97 }
98
99 ///创建基于注册表基项的节点
100 RegistryKey key = GetRegDomain(_domain);
101
102 ///要创建的注册表项的节点
103 RegistryKey sKey;
104 if (! IsSubKeyExist())
105 {
106 sKey = key.CreateSubKey(_subkey);
107 }
108 //sKey.Close();
109 ///关闭对注册表项的更改
110 key.Close();
111 }
112
113 /// <summary>
114 /// 创建注册表项,默认创建在注册表基项 HKEY_LOCAL_MACHINE下面
115 /// 虚方法,子类可进行重写
116 /// 例子:如subkey是software\\higame\\,则将创建HKEY_LOCAL_MACHINE\\software\\higame\\注册表项
117 ///</summary>
118 /// <param name="subKey">注册表项名称</param>
119 publicvirtual void CreateSubKey(string subKey)
120 {
121 ///判断注册表项名称是否为空,如果为空,返回false
122 if (subKey== string.Empty|| subKey == null )
123 {
124 return ;
125 }
126
127 ///创建基于注册表基项的节点
128 RegistryKey key = GetRegDomain(_domain);
129
130 ///要创建的注册表项的节点
131 RegistryKey sKey;
132 if (! IsSubKeyExist(subKey))
133 {
134 sKey = key.CreateSubKey(subKey);
135 }
136 //sKey.Close();
137 ///关闭对注册表项的更改
138 key.Close();
139 }
140
141 /// <summary>
142 /// 创建注册表项,默认创建在注册表基项 HKEY_LOCAL_MACHINE下面
143 /// 虚方法,子类可进行重写
144 ///</summary>
145 /// <param name="regDomain">注册表基项域</param>
146 publicvirtual void CreateSubKey(RegDomain regDomain)
147 {
148 ///判断注册表项名称是否为空,如果为空,返回false
149 if (_subkey== string.Empty|| _subkey == null )
150 {
151 return ;
152 }
153
154 ///创建基于注册表基项的节点
155 RegistryKey key = GetRegDomain(regDomain);
156
157 ///要创建的注册表项的节点
158 RegistryKey sKey;
159 if (! IsSubKeyExist(regDomain))
160 {
161 sKey = key.CreateSubKey(_subkey);
162 }
163 //sKey.Close();
164 ///关闭对注册表项的更改
165 key.Close();
166 }
167
168 /// <summary>
169 /// 创建注册表项(请先设置SubKey属性)
170 /// 虚方法,子类可进行重写
171 /// 例子:如regDomain是HKEY_LOCAL_MACHINE,subkey是software\\higame\\,则将创建HKEY_LOCAL_MACHINE\\software\\higame\\注册表项
172 ///</summary>
173 /// <param name="subKey">注册表项名称</param>
174 /// <param name="regDomain">注册表基项域</param>
175 publicvirtual void CreateSubKey(string subKey, RegDomain regDomain)
176 {
177 ///判断注册表项名称是否为空,如果为空,返回false
178 if (subKey== string.Empty|| subKey == null )
179 {
180 return ;
181 }
182
183 ///创建基于注册表基项的节点
184 RegistryKey key = GetRegDomain(regDomain);
185
186 ///要创建的注册表项的节点
187 RegistryKey sKey;
188 if (! IsSubKeyExist(subKey, regDomain))
189 {
190 sKey = key.CreateSubKey(subKey);
191 }
192 //sKey.Close();
193 ///关闭对注册表项的更改
194 key.Close();
195 }
196 #endregion
197
198 #region 判断注册表项是否存在
199 /// <summary>
200