精簡(jiǎn)代碼演示VB.NET遍歷注冊(cè)表鍵
作者:佚名
很多人都遇到過(guò)遍歷的問(wèn)題,文章主要是VB.NET遍歷注冊(cè)表鍵的代碼演示,代碼例如:Imports Microsoft.Win32 Public Class Form1 Dim KeyUsers As RegistryKey ...。
大家都遇到過(guò)遍歷的問(wèn)題,你拿到了數(shù)據(jù)就要對(duì)它進(jìn)行遍歷才能讀出來(lái),在這里我給大家演示一個(gè)VB.NET遍歷注冊(cè)表鍵,并且提供添加,修改,刪除鍵及鍵的用戶。
VB.NET遍歷注冊(cè)表代碼如下:
- Imports Microsoft.Win32
- Public Class Form1
- Dim KeyUsers As RegistryKey
- ''' <summary>
- ''' 顯示用戶列表
- ''' < SPAN>summary>
- ''' <param name="list">顯示用戶的列表對(duì)象< SPAN>param>
- ''' <remarks>< SPAN>remarks>
- Private Sub ListAllUsers(ByVal list As ListBox)
- '清除列表中的內(nèi)容
- list.Items.Clear()
- '遍歷用戶鍵下的子鍵
- For Each keyname As String In KeyUsers.GetSubKeyNames()
- list.Items.Add(keyname)
- Next
- End Sub
- ''' <summary>
- ''' 判斷用戶是否存在
- ''' < SPAN>summary>
- ''' <param name="username">用戶名< SPAN>param>
- ''' <returns>存在返回true,否則返回false< SPAN>returns>
- ''' <remarks>< SPAN>remarks>
- Private Function IsUserExists(ByVal username As String) As Boolean
- '遍歷用戶鍵下的子鍵
- For Each keyname As String In KeyUsers.GetSubKeyNames()
- '如果用戶存在返回true
- If (keyname.ToUpper() = username.ToUpper()) Then
- Return True
- End If
- Next
- Return False
- End Function
- ''' <summary>
- ''' 刪除用戶
- ''' < SPAN>summary>
- ''' <param name="username">被刪除的用戶名< SPAN>param>
- ''' <remarks>< SPAN>remarks>
- Private Sub DeleteUser(ByVal username As String)
- If (IsUserExists(username)) Then
- '刪除該用戶對(duì)應(yīng)的鍵
- KeyUsers.DeleteSubKey(username)
- ListAllUsers(ListBox1)
- End If
- End Sub
- '更多vb.net源代碼和實(shí)例,請(qǐng)關(guān)注樂博網(wǎng)lob.cn
- ''' <summary>
- ''' 添加用戶
- ''' < SPAN>summary>
- ''' <param name="username">用戶名< SPAN>param>
- ''' <returns>添加成功返回true,否則返回false< SPAN>returns>
- ''' <remarks>< SPAN>remarks>
- Private Function AddUser(ByVal username As String) As Boolean
- Try
- '判斷用戶是否存在
- If (IsUserExists(username)) Then
- MsgBox("用戶已經(jīng)存在,請(qǐng)輸入其它用戶!")
- Return False
- End If
- '創(chuàng)建用戶鍵
- KeyUsers.CreateSubKey(username, _
- RegistryKeyPermissionCheck.ReadWriteSubTree)
- '重新列表
- ListAllUsers(ListBox1)
- Catch ex As Exception
- Return False
- End Try
- End Function
- Private Sub btnCreateKey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateKey.Click
- Dim key As RegistryKey
- Dim mykey As RegistryKey
- '首先需要獲得HKEY_CURRENT_USER\Softwar子鍵,將writable設(shè)置為True確??蓪?
- key = My.Computer.Registry.CurrentUser.OpenSubKey("Software", True)
- '在HKEY_CURRENT_USER\Softwar下面創(chuàng)建子鍵并返回創(chuàng)建的子鍵對(duì)象
- mykey = key.CreateSubKey("MyKey", RegistryKeyPermissionCheck.ReadWriteSubTree)
- '創(chuàng)建值并且設(shè)置值的內(nèi)容
- mykey.SetValue("UserName", "Rui.Chen", RegistryValueKind.String)
- End Sub
- Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
- If (ListBox1.SelectedIndex >= 0) Then
- btnDelete.Enabled = True
- Else
- btnDelete.Enabled = False
- End If
- End Sub
- Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
- DeleteUser(ListBox1.SelectedItem.ToString())
- End Sub
- Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click
- If (TextBox1.Text <> "") Then
- AddUser(TextBox1.Text)
- End If
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- KeyUsers = My.Computer.Registry.CurrentUser.OpenSubKey("Software\MyKey", True)
- ListAllUsers(ListBox1)
- btnDelete.Enabled = False
- End Sub
- End Class
以上是關(guān)于VB.NET遍歷注冊(cè)表鍵的一個(gè)實(shí)例,大家快試試吧!
【編輯推薦】
責(zé)任編輯:田樹
來(lái)源:
樂博網(wǎng)