国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 注冊表 > 正文

在VB.NET中如何快速訪問注冊表的技巧 代碼

2020-02-09 10:26:16
字體:
供稿:網(wǎng)友

vb.net中訪問注冊表變得非常的簡單。我們可以用microsoft.Win32 名稱空間的下的registry類和registryKey類。另外My.Computer.Registry 也可以返回一個(gè)Microsoft.Win32.Registry類的實(shí)例。
  下面就舉幾個(gè)小例子來說明vb.net訪問注冊表的方法。
  1、返回或創(chuàng)建一個(gè)注冊表鍵

  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、刪除注冊表鍵

  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)建或讀取注冊表項(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、遍歷注冊表
  這個(gè)也非常簡單,  在窗體上放一個(gè)按鈕和兩個(gè)文本框,添加如下的代碼:

  Dim sb As New System.Text.StringBuilder '返回遍歷結(jié)果
Dim sb2 As New System.Text.StringBuilder '返回讀取出錯(cuò)的注冊表鍵
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
'遍歷注冊表鍵樹
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

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巨鹿县| 剑阁县| 英德市| 九江市| 六枝特区| 雷州市| 桐乡市| 桦甸市| 交口县| 东辽县| 广水市| 五寨县| 津市市| 晋中市| 三河市| 桐庐县| 辽阳县| 阳朔县| 枣庄市| 定州市| 信宜市| 思南县| 远安县| 乌拉特后旗| 房产| 苏州市| 上虞市| 通山县| 澄江县| 六安市| 香格里拉县| 环江| 含山县| 康定县| 琼中| 常山县| 和平区| 泾源县| 齐河县| 岚皋县| 乐业县|