C#操作注册表

简介:
名字空间Microsoft.Win32

以下从‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作 
1.读取指定名称的注册表的值 
 1 None.gif private  string GetRegistData( string name) 
 2 ExpandedBlockStart.gif ContractedBlock.gif dot.gif
 3InBlock.gif   string registData; 
 4InBlock.gif   RegistryKey hkml = Registry.LocalMachine; 
 5InBlock.gif   RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); 
 6InBlock.gif   RegistryKey aimdir = software.OpenSubKey("XXX",true); 
 7InBlock.gif   registData = aimdir.GetValue(name).ToString(); 
 8InBlock.gif   return registData; 
 9ExpandedBlockEnd.gif}
 
10 None.gif以上是读取的注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下的XXX目录中名称为name的注册表值; 
11 None.gif
12 None.gif2.向注册表中写数据 
13 None.gif private  void WTRegedit( string name, string tovalue) 
14 ExpandedBlockStart.gif ContractedBlock.gif dot.gif
15InBlock.gif   RegistryKey hklm = Registry.LocalMachine; 
16InBlock.gif   RegistryKey software = hklm.OpenSubKey("SOFTWARE",true); 
17InBlock.gif   RegistryKey aimdir = software.CreateSubKey("XXX"); 
18InBlock.gif   aimdir.SetValue(name,tovalue); 
19ExpandedBlockEnd.gif}
 
20 None.gif以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下新建XXX目录并在此目录下创建名称为name值为tovalue的注册表项; 
21 None.gif
22 None.gif3.删除注册表中指定的注册表项 
23 None.gif private  void DeleteRegist( string name) 
24 ExpandedBlockStart.gif ContractedBlock.gif dot.gif
25InBlock.gif   string[] aimnames; 
26InBlock.gif   RegistryKey hkml = Registry.LocalMachine; 
27InBlock.gif   RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); 
28InBlock.gif   RegistryKey aimdir = software.OpenSubKey("XXX",true); 
29InBlock.gif   aimnames = aimdir.GetSubKeyNames(); 
30InBlock.gif   foreach(string aimKey in aimnames) 
31ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
32InBlock.gif    if(aimKey == name) 
33InBlock.gif     aimdir.DeleteSubKeyTree(name); 
34ExpandedSubBlockEnd.gif   }
 
35ExpandedBlockEnd.gif}
 
36 None.gif以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中删除名称为name注册表项; 
37 None.gif
38 None.gif4.判断指定注册表项是否存在 
39 None.gif private  bool IsRegeditExit( string name) 
40 ExpandedBlockStart.gif ContractedBlock.gif dot.gif
41InBlock.gif   bool _exit = false
42InBlock.gif   string[] subkeyNames; 
43InBlock.gif   RegistryKey hkml = Registry.LocalMachine; 
44InBlock.gif   RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); 
45InBlock.gif   RegistryKey aimdir = software.OpenSubKey("XXX",true); 
46InBlock.gif   subkeyNames = aimdir.GetSubKeyNames(); 
47InBlock.gif   foreach(string keyName in subkeyNames) 
48ExpandedSubBlockStart.gifContractedSubBlock.gif   dot.gif
49InBlock.gif    if(keyName == name) 
50ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif
51InBlock.gif       _exit = true
52InBlock.gif       return _exit; 
53ExpandedSubBlockEnd.gif    }
 
54ExpandedSubBlockEnd.gif   }
 
55InBlock.gif   return _exit; 
56ExpandedBlockEnd.gif}
 
57 None.gif


以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中判断名称为name注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断; 




本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/archive/2005/09/06/231361.html,如需转载请自行联系原作者


目录
相关文章
|
存储 安全 Windows
注册表的基础
注册表的基础
71 0
C#编程-143:删除注册表
C#编程-143:删除注册表
148 0
修改注册表/文件报错
一般这种报错都是提示权限有问题,我们可以手动修改注册表权限
修改注册表/文件报错
|
安全 Windows 数据库
注册表与木马(一)——注册表读写
 木马是什么?     木马(网络程序) = 客户端程序(控制端) + 服务端(被控端)     服务端程序开启远程后门     客户端使用Telnet进行远程控制     服务端程序需要在每次电脑开机时运行,这就需要在注册表中添加开机启动。
1357 0
|
安全 Shell Windows