在VB.NET中如何快速訪問(wèn)注冊(cè)表的技巧 代碼
vb.net中訪問(wèn)注冊(cè)表變得非常的簡(jiǎn)單。我們可以用microsoft.Win32 名稱空間的下的registry類(lèi)和registryKey類(lèi)。另外My.Computer.Registry 也可以返回一個(gè)Microsoft.Win32.Registry類(lèi)的實(shí)例。
下面就舉幾個(gè)小例子來(lái)說(shuō)明vb.net訪問(wèn)注冊(cè)表的方法。
1、返回或創(chuàng)建一個(gè)注冊(cè)表鍵
Dim Key1 As Microsoft.Win32.RegistryKey
Key1 = My.Computer.Registry.CurrentUser "返回當(dāng)前用戶鍵
Dim Key2 As Microsoft.Win32.RegistryKey
Key2 = Key1.OpenSubKey("northsnow") "返回當(dāng)前用戶鍵下的northsnow鍵
If Key2 Is Nothing Then
Key2 = Key1.CreateSubKey("northsnow") "如果鍵不存在就創(chuàng)建它
End If
2、刪除注冊(cè)表鍵
Dim Key1 As Microsoft.Win32.RegistryKey
Key1 = My.Computer.Registry.CurrentUser "返回當(dāng)前用戶鍵
Dim Key2 As Microsoft.Win32.RegistryKey
Key2 = Key1.OpenSubKey("northsnow") "返回當(dāng)前用戶鍵下的northsnow鍵
If Not Key2 Is Nothing Then
Key1.DeleteSubKey("northsnow") "如果鍵不存在就創(chuàng)建它
End If
3、創(chuàng)建或讀取注冊(cè)表項(xiàng)
Dim Key1 As Microsoft.Win32.RegistryKey
Key1 = My.Computer.Registry.CurrentUser "返回當(dāng)前用戶鍵
Dim Key2 As Microsoft.Win32.RegistryKey
Key2 = Key1.OpenSubKey("northsnow", True) "返回當(dāng)前用戶鍵下的northsnow鍵,如果想創(chuàng)建項(xiàng),必須指定第二個(gè)參數(shù)為true
If Key2 Is Nothing Then
Key2 = Key1.CreateSubKey("northsnow") "如果鍵不存在就創(chuàng)建它
End If
"創(chuàng)建項(xiàng),如果不存在就創(chuàng)建,如果存在則覆蓋
Key2.SetValue("name", "塞北的雪")
Key2.SetValue("sex", True)
Key2.SetValue("age", 30)
"返回項(xiàng)值
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)
"查驗(yàn)?zāi)硞€(gè)項(xiàng)是否存在
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、遍歷注冊(cè)表
這個(gè)也非常簡(jiǎn)單, 在窗體上放一個(gè)按鈕和兩個(gè)文本框,添加如下的代碼:
Dim sb As New System.Text.StringBuilder "返回遍歷結(jié)果
Dim sb2 As New System.Text.StringBuilder "返回讀取出錯(cuò)的注冊(cè)表鍵
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 "返回當(dāng)前用戶鍵
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
"遍歷注冊(cè)表鍵樹(shù)
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
"遍歷某鍵下的項(xiàng)
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
相關(guān)文章:
1. WinXP系統(tǒng)注冊(cè)表解鎖方法2. 注冊(cè)表怎么刪除Win7/Win8/Win10桌面上的頑固IE圖標(biāo)?快速方法介紹3. 修改注冊(cè)表安裝win11的教程4. 將u深度pe系統(tǒng)注冊(cè)表進(jìn)行備份的圖文教程5. 怎么把Win10注冊(cè)表恢復(fù)初始?6. 教你如何恢復(fù)注冊(cè)表的解決方法7. 注冊(cè)表 始終保持在根目錄(其實(shí)就是取消記錄上次的操作)8. Win7系統(tǒng)注冊(cè)表被鎖定怎么辦?9. 怎樣修改注冊(cè)表才能發(fā)揮大容量?jī)?nèi)存的優(yōu)勢(shì)10. 修改注冊(cè)表顯示被病毒惡意隱藏文件
