在注册表中,最上面的节点是注册表配置单元(registry hive),有7个注册表配置单元,但用regedit只能看到5个
其余的两个键包含临时信息,这些信息常常会更改:
属性
Name 键的名称(只读)
SubKeyCount 键的子键个数
ValueCount 键包含的值的个数
方法
Close()关闭键
CreateSubKey()创建给定名称的子键(如果该子键已经存在,就打开它)
DeleteSubKey()删除指定的子键
DeleteSubKeyTree()递归删除子键及及所有子键
DeleteValue()从键中删除一个指定的值
GetAccessControl()返回指定注册表键的ACL
GetSubKeyNames()返回包含子键名称的字符串数组
GetValue() 返回指定的值
GetValueKind()返回指定 的值,要检索其注册表数据类型
GetValueName()返回一个包含所有键值名称的字符数组
OpenSubKey()返回表示给定子键的RegistryKey实例的引用
SetAccessControl()把ACL应用于指定的注册键
SetValue()设置指定的值
using(RegistryKey key =Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall",false))//false表示以只读打开 { if(key!=null) { foreach(string keyName in key.GetSubKeyNames()) { using(RegistryKey key2 = key.OpenSubKey(keyName,false)) { if(key2!=null) { string softwareName = key2.GetValue("DisplayName","").toString(); string installLocation j= key2.GetValue("InstallLocation","").toString(); } } } } }
using (RegistryKey key=Registry.CurrentUser.CreateeSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer")) { key.SetValue("NoDeskTop",1,RegistryValueKind.DWord); }
启用活动桌面:在注册表中HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer项下的值ForceActiveDesktoopOn,设置为1