本文向大家介绍VB.NET访问注册表,可能好多人还不了解VB.NET访问注册表,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
目前创新互联已为上1000+的企业提供了网站建设、域名、网站空间、网站托管运营、企业网站设计、霸州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
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
- '遍历某键下的项
- Private Sub readValue()Sub readValue(ByVal r As Microsoft.Win32.RegistryKey)
- If r.ValueCount > 0 Then
- Dim valueName() As String
- Dim i As Integer
- valueName = r.GetValueNames
- For i = 0 To valueName.GetLength(0) - 1
- sb.AppendLine("####")
- sb.Append(r.Name)
- sb.Append("----")
- sb.Append(r.GetValue(valueName(i)).ToString)
- Next
- End If
- End Sub
【编辑推荐】
本文题目:讲解VB.NET访问注册表方法
URL标题:http://www.csdahua.cn/qtweb/news32/32982.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网