vb.net下对注册表的各种操作

80酷酷网    80kuku.com

  注册表vs.net提供了microsoft.win32类,下面有三个子类,全是针对注册表的,Microsoft.Win32.RegistryKey、Microsoft.Win32.Registry、Microsoft.Win32.RegistryHive
Microsoft.Win32.Registry提供了访问各个注册表中根的值
Microsoft.Win32.Registry.CurrentUser   '为HKEY_CURRENT_USER根键
Microsoft.Win32.Registry.ClassesRoot  '为HKEY_CLASSES_ROOT根键
Microsoft.Win32.Registry.CurrentConfig '为HKEY_CURRENT_CONFIG根键
Microsoft.Win32.Registry.Users  '为HKEY_USERS根键
Microsoft.Win32.Registry.DynDa '对应于HKEY_DYN_DATA主键
Microsoft.Win32.Registry.PerformanceData '对应于HKEY_PERFORMANCE_DATA主键


Microsoft.Win32.Registry.LocalMachine '为HKEY_LOCAL_MACHINE根键
了解了这么多,让我们来对注册表进行操作吧!举个小例子:
Dim key As Microsoft.Win32.RegistryKey, subkey As Microsoft.Win32.RegistryKey
        key = Microsoft.Win32.Registry.CurrentUser  'key为HKEY_USERS根键
        subkey = key.CreateSubKey("Software\vb.net")  '在HKEY_USERS\software下创建一个vb.net子键
        subkey.SetValue("GOOD?", "of course") '在HKEY_USERS\software\vb.net下设置一个键值,键值名为good?,值为of course了
上面是在注册表里创建键了,下面我们用程序来访问我们刚创建的注册表的键吧:
             key = microsoft.Win32.Registry.CurrentUser  '如上
            subkey=key.OpenSubKey("software\vb.net",True) 'subkey即为HKEY_USERS\software\vb.net键
        dim value as object=subkey.GetValue("Good?") 'value为HKEY_USERS\software\vb.net键中的GOOD?的值
        msgbox(value.tostring()) '将出现of course了
上面是获取注册表键值了,要设值,还是用subkey.setvalue了
来讲讲删除吧:
        key.DeleteSubKey("software\vb.net")  '删除这个键了也可以用:
        key.DeleteSubKeyTree("software\vb.net")
还可以用key.GetSubKeyNames来遍历子键
即:for i=0 to ubound(key.GetSubKeyNames())
       subkey=key.OpenSubKey(key.GetSubKeyNames()(i),True)
.......  '对每个子键的处理
  next
用key.GetValueNames来遍历各个值
即:
   for i=0 to ubound(key.GetValueNames())
     key.GetValueNames()(i) '为每个值的名称
     value=key.Getvalue(key.GetValueNames()(i)) '为每个值的值
讲到这儿,对注册表的各项操作也差不多了吧!如果结合起来用,什么都可以干了呀,呵呵!

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: