代码改变世界

c#小软件(SaveClassic)开发手记--(3)基础类(注册表操作类RegEdit)

2011-12-09 11:49  zhaoyang  阅读(340)  评论(0编辑  收藏  举报

     该类主要实现了注册表的修改,代码也是大白话,很简单,使用方法在窗体开发中也会用到的。具体代码如下所示。

 1 using Microsoft.Win32;
2 namespace Common
3 {
4 public class RegEdit
5 {
6 public RegEdit()
7 {
8 }
9 //获取注册表中的数据
10 public string GetRegistData(string name)
11 {
12 string registData;
13 RegistryKey hkml = Registry.LocalMachine;
14 RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
15 RegistryKey aimdir = software.OpenSubKey("Microsoft", true);
16 registData = aimdir.GetValue(name).ToString();
17 return registData;
18 }
19 //写入注册表数据
20 public void WTRegedit(string name, string tovalue)
21 {
22 RegistryKey hklm = Registry.LocalMachine;
23 RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
24 RegistryKey aimdir = software.CreateSubKey("XXX");
25 aimdir.SetValue(name, tovalue);
26 }
27 //删除注册表数据
28 public void DeleteRegist(string name)
29 {
30 string[] aimnames;
31 RegistryKey hkml = Registry.LocalMachine;
32 RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
33 RegistryKey aimdir = software.OpenSubKey("XXX", true);
34 aimnames = aimdir.GetSubKeyNames();
35 foreach (string aimKey in aimnames)
36 {
37 if (aimKey == name)
38 aimdir.DeleteSubKeyTree(name);
39 }
40 }
41
42 //判断注册表中数据是否存在
43 public bool IsRegeditExit(string name)
44 {
45 bool _exit = false;
46 string[] subkeyNames;
47 RegistryKey hkml = Registry.LocalMachine;
48 RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
49 RegistryKey aimdir = software.OpenSubKey("Microsoft", true);
50 subkeyNames = aimdir.GetSubKeyNames();
51 foreach (string keyName in subkeyNames)
52 {
53 if (keyName == name)
54 {
55 _exit = true;
56 return _exit;
57 }
58 }
59 return _exit;
60 }
61 }
62 }