当前位置:首页 > 编程学习 > VB.NET中快速访问注册表技巧

VB.NET中快速访问注册表技巧

编程学习2007-04-2922260

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


1,返回或创建一个注册表键

Dim Key1 As Microsoft.Win32.RegistryKey 
Key1 = My.Computer.Registry.CurrentUser '返回当前用户键 
Dim Key2 As Microsoft.Win32.RegistryKey 
Key2 = Key1.OpenSubKey("northsnow") '返回当前用户键下的northsnow键 
If Key2 Is Nothing Then
    Key2 = Key1.CreateSubKey("northsnow") '如果键不存在就创建它 
End If

2,删除注册表键

Dim Key1 As Microsoft.Win32.RegistryKey 
Key1 = My.Computer.Registry.CurrentUser '返回当前用户键 
Dim Key2 As Microsoft.Win32.RegistryKey
Key2 = Key1.OpenSubKey("northsnow") '返回当前用户键下的northsnow键 
If Not Key2 Is Nothing Then
    Key1.DeleteSubKey("northsnow") '如果键不存在就创建它 
End If

3,创建或读取注册表项

Dim Key1 As Microsoft.Win32.RegistryKey 
Key1 = My.Computer.Registry.CurrentUser '返回当前用户键 
Dim Key2 As Microsoft.Win32.RegistryKey 
Key2 = Key1.OpenSubKey("northsnow", True) '返回当前用户键下的northsnow键,如果想创建项,必须指定第二个参数为true 
If Key2 Is Nothing Then
    Key2 = Key1.CreateSubKey("northsnow") '如果键不存在就创建它 
End If
         
'创建项,如果不存在就创建,如果存在则覆盖 
Key2.SetValue("name", "塞北的雪") 
Key2.SetValue("sex", True) 
Key2.SetValue("age", 30)
         
'返回项值 
Dim sb As New System.Text.StringBuilder 
sb.AppendLine(Key2.GetValue("name")) 
sb.AppendLine(Key2.GetValue("sex")) 
sb.AppendLine(Key2.GetValue("age")) 
MsgBox(sb.ToString)
         
'查验某个项是否存在 
If (Key2.GetValue("name")) Is Nothing Then
    MsgBox("no") 
Else
    MsgBox("yes") 
End If
If (Key2.GetValue("name2")) Is Nothing Then
    MsgBox("no") 
Else
    MsgBox("yes") 
End If


'输出
' 塞北的雪
'True
'30
'yes
'no


4,遍历注册表

这个也非常简单,在窗体上放一个按钮和两个文本框,添加如下的代码

Dim sb As New System.Text.StringBuilder '返回遍历结果 
Dim sb2 As New System.Text.StringBuilder '返回读取出错的注册表键 
Private Sub Button3_Click()Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 
    Dim Key1 As Microsoft.Win32.RegistryKey 
    Key1 = My.Computer.Registry.CurrentUser '返回当前用户键 
    If Not Key1 Is Nothing Then
        sb.AppendLine(Key1.Name) 
        readValue(Key1) 
        readReg(Key1) 
    End If
    Me.TextBox1.Text = sb.ToString 
    Me.TextBox2.Text = sb2.ToString 
End Sub
     
'遍历注册表键树 
Private Sub readReg()Sub readReg(ByVal r As Microsoft.Win32.RegistryKey) 
        If r.SubKeyCount > 0 Then
        Dim keyName() As String
        Dim keyTemp As Microsoft.Win32.RegistryKey 
        keyName = r.GetSubKeyNames 
        Dim i As Integer
        For i = 0 To keyName.GetLength(0) - 1 
            Try
                sb.AppendLine(keyName(i)) 
                keyTemp = r.OpenSubKey(keyName(i), True) 
                readValue(keyTemp) 
                readReg(keyTemp) 
            Catch ex As Exception 
                sb2.AppendLine(keyName(i)) 
            End Try
        Next
    End If
End Sub



扫描二维码推送至手机访问。

版权声明:本文由海阔天空发布,如需转载请注明出处。

本文链接:https://www.apull.net/html/20070429102.html

分享给朋友:

相关文章

 C++中指针的使用艺术

C++中指针的使用艺术

C++中指针的使用艺术 在C++编程中使用指针能有速度快,节约内存等优点,是很多C++程序员的最爱。但指针是一把双刃剑,用好了它,你就会发现指针有多么的方便,反之,你可能就头疼了,往往会出现意想不到的问题。   一.什么是指针:   其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针只是一个指示器,它告诉程序在内存的哪块区域可以找到数据。   这是一个非常重要的概念,有很多程序和算法都是围绕指针设计的,如链...

[转] 深入探讨C++中的引用

[转] 深入探讨C++中的引用

  摘要:介绍C++引用的基本概念,通过详细的应用分析与说明,对引用进行全面、透彻地阐述。  关键词:引用,const,多态,指针  引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。  引用简介  引用就是某一变量(目标)的一个别名,...

在ASP中访问和更新Cookies集合

在ASP中访问和更新Cookies集合

  Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。  ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出的cookie值,并可创建或修改cookie,通过Response对象的Cookies集合发回给用户。  Cookie包含可用两种方式构造的信息,单值cookie提供其值给代...

VB.NET关于加密算法

VB.NET关于加密算法

加密将防止数据被查看或修改,并在原本不安全的信道上提供安全的通信信道,它达到以下目的:  保密性:防止用户的标识或数据被读取。  数据完整性:防止数据被更改。  身份验证:确保数据发自特定的一方。  基本概念  1、散列(HASH)函数  散列(HASH)函数H也称哈希函数或杂凑函数等,是典型的多到一的函数,其输入为一可变长x(可以足够的长),输出一固定长的串h(一般为128位、160位,比输入的串短),该串h被称为输入x的Hash值(或称消息摘要Message  ...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。