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

注册表

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)) '为每个值的值
讲到这儿,对注册表的各项操作也差不多了吧!如果结合起来用,什么都可以干了呀,呵呵!

时间: 2024-10-26 19:04:25

vb.net下对注册表的各种操作的相关文章

VB.NET中访问注册表

访问|注册表 vb.net中访问注册表变得非常的简单.我们可以用  microsoft.Win32 名称空间的 下的 registry 类 和 registryKey 类. 另外 My.Computer.Registry 也可以返回一个 Microsoft.Win32.Registry 类的实例.下面就举几个小例子来说明vb.net访问注册表的方法. 1,返回或创建一个注册表键    Dim Key1 As Microsoft.Win32.RegistryKey        Key1 = My

走近VB.Net(十二) 注册表快速入门

快速入门|注册表 走近VB.Net(十二) 注册表快速入门 作者:hejianzhong VB.Net中文站(http://vbnetcn.126.com) 首先介绍一下注册表的相关基础知识:注册表的每一个文件夹被称为一个Key(项),这个文件夹的子文件夹被称为SubKey(子项),而在一个子项中有不同的Value Name(值项-即数值顶),值项后面就是你要保存的数据Value Data(数据)了.而在子项中通常都有一个Default Value 是默认的Value Name,相信打开过注册表

在DOS下对注册表编程

在DOS方式下也能对注册表进行编程?是的.当您的Windows95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了.因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行.许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器. 在DOS提示符下键入Regedit命令,将出现一个帮助屏幕.此屏幕给出了其命令行参数

XP系统下通过注册表修改登录背景图案

XP系统下通过注册表修改登录背景图案   在打开的运行选项窗口中,我们输入regedit命令打开注册表编辑器,如图所示: 在打开的注册表编辑器窗口中,我们依次展开以下路径:HKEY_USERS.DEFAULTControl PanelDesktop,如图所示: 接着在右边窗口找到一个名为Wallpaper的注册表值,如图所示:

教你如何清理XP系统下的注册表

  教你如何清理XP系统下的注册表           方法一:WinXP自带系统还原功能,前提是之前有过进行系统备份,使用自带功能将系统还原到某一个还原点,注册表也将随整个系统一起恢复. 方法二:使用软件来处理.这里推荐大家使用Registry Purify(注册表清理工具),该软件可以修复及清理修复许多注册表错误,效果明显.使用方便.

XP系统下利用注册表禁用光驱的方法

  XP系统下利用注册表禁用光驱的方法 1.首先单击"开始",进入"运行",输入"regedit",打开注册表. 2.然后在注册表编译器里,找到"HKEY_CURRENT_USER"选项,单击右键,展开. 3.接着在展开的注册表项里,找到"Software"选项,展开. 4.下一步在展开的注册表项里,找到"Microsoft"选项,展开.

在DOS下使用注册表扫描程序

从windows98之后,windows系统加入了对注册表的 管理程序,该程序有两个版本,scanregw.exe工作在windows环境中,Scanreg.exe工作在dos环境.并用一个Scanreg.ini文件与之辅助.介绍该程序For windows版本的文章很多,朋友们可以自己 查找参阅.这里仅介绍如何在dos下使用Scanreg.exe程序. 由于程序 是在dos模式下工作.因此,尽管你的操作系统是 中文版的windows,这时出现的也是英文字符界面.程序操作是由命令行和一些选项 开

在DOS下复活注册表数据

注册表是系统的核心,对系统软硬件运行起着重要的控制作用,特别是一些软件的运行都会在注册表中写入数据.系统不稳定甚至崩溃时,绝大多数情况下,通过对注册表数据的恢复,系统就可起死回生了.然而,系统一旦有了问题,将无法见到视窗蓝天白云,这时,最有效的方法是通过DOS这一惟一途径来恢复原有的数据,挽救已崩溃的系统.下面就让我们一起来看看如何在DOS下对注册表数据进行备份和恢复. 自己动手备份恢复 注册表是由两个数据库文件System.dat和User.dat构成的,前者用来存储本地计算机的系统信息,后者

mfc-我用VC在HKEY_LOCAL_MACHINE下写注册表不成功,而在其他如HKEY_CURRENT_USER却行

问题描述 我用VC在HKEY_LOCAL_MACHINE下写注册表不成功,而在其他如HKEY_CURRENT_USER却行 我用的是win8.1系统,我提升了进程权限也没有反应,不知道是不是方法不对 解决方案 GetLastError 看看返回值,