×

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

Kalet Kalet 发表于2009-03-20 12:00:13 浏览179 评论0

抢沙发发表评论

vs.net提供了microsoft.win32类,下面有三个子类,全是针对注册表的,Microsoft.Win32.RegistryKey、Microsoft.Win32.Registry、Microsoft.Win32.RegistryHive


Microsoft.Win32.Registry提供了访问各个注册表中根的值vb.net下对注册表的各种操作!


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.netvb.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)) '为每个值的值

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

讲到这儿,对注册表的各项操作也差不多了吧!如果结合起来用,什么都可以干了呀,呵呵!



群贤毕至

访客