c#ソフトウェア(SaveClassic)開発手記--(3)ベースクラス(レジストリ操作クラスRegEdit)

7741 ワード

このクラスは主にレジストリの修正を実現し,コードも大白話で簡単で,使用方法はフォーム開発にも用いられる.具体的なコードは以下の通りです.
 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 }