VB.NET注冊表操作相關技巧解析
大家通過對VB.NET的學習,可以知道,這款編程語言的應用范圍是非常廣泛的。下面就一起來分析一下VB.NET注冊表操作的一些技巧。其實,VB.NET注冊表操作是非常的簡單。我們可以用 microsoft.Win32 名稱空間的 下的 registry 類 和 registryKey 類。 另外 My.Computer.Registry 也可以返回一個 Microsoft.Win32.Registry 類的實例。 #t#
下面就舉幾個小例子來說明VB.NET注冊表操作的方法。
VB.NET注冊表操作1,返回或創(chuàng)建一個注冊表鍵
- 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")
'如果鍵不存在就創(chuàng)建它 - End If
VB.NET注冊表操作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")
'如果鍵不存在就創(chuàng)建它- End If
VB.NET注冊表操作3,創(chuàng)建或讀取注冊表項
- Dim Key1 As Microsoft.Win32.RegistryKey
- Key1 = My.Computer.Registry.CurrentUser
'返回當前用戶鍵- Dim Key2 As Microsoft.Win32.RegistryKey
- Key2 = Key1.OpenSubKey("northsnow",
True) '返回當前用戶鍵下的northsnow
鍵,如果想創(chuàng)建項,必須指定第二個參數為true- If Key2 Is Nothing Then
- Key2 = Key1.CreateSubKey("northsnow")
'如果鍵不存在就創(chuàng)建它- End If
- '創(chuàng)建項,如果不存在就創(chuàng)建,如果存在則覆蓋
- 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
VB.NET注冊表操作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注冊表操作的一些實際應用技巧就為大家介紹到這里。