微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

2哥学Vb.net--注册表操作

注册表的操作:简单的增删改查

Imports Microsoft.Win32
   
Public Class Form1
    Private RegCurrentConfig As RegistryHive = "-2147483643"
    Private RegClassUsers As RegistryHive = "-2147483645"
    Private RegLocalMachine As RegistryHive = "-2147483646"
    Private RegCurrentUser As RegistryHive = "-2147483647"
    Private RegClassRoot As RegistryHive = "-2147483648"
    ''' <summary>
    ''' 操作注册表
    ''' </summary>
    ''' <param name="Hive"></param>
    ''' <param name="Key"></param>
    ''' <param name="ValueName"></param>
    ''' <param name="ErroInfo"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function RegValue(ByVal Hive As RegistryHive,ByVal Key As String,ByVal ValueName As String,Optional ByRef ErroInfo As String = "") As String
        RegValue = ""
        Dim objParentKey As RegistryKey
        Dim objSubKey As RegistryKey

        Select Case Hive
            Case RegistryHive.ClassesRoot
                objParentKey = Registry.ClassesRoot
            Case RegistryHive.CurrentConfig
                objParentKey = Registry.CurrentConfig
            Case RegistryHive.CurrentUser
                objParentKey = Registry.CurrentUser
            Case RegistryHive.LocalMachine
                objParentKey = Registry.PerformanceData
            Case RegistryHive.Users
                objParentKey = Registry.Users
        End Select

        'Create subkey
        Dim rk As RegistryKey
        rk = objParentKey.OpenSubKey("Hello",True)
        rk.CreateSubKey("MyRegistrySubKey",True)

        'Set value
        rk.SetValue("Hello","Kitty")

        'get Value
        Try
            objSubKey = objParentKey.OpenSubKey(Key)
            If Isnothing(objSubKey) = False Then
                RegValue = (objSubKey.GetValue(ValueName))
            End If
        Catch ex As Exception
            ErroInfo = ex.Message
        Finally
            If ErroInfo = "" And RegValue = "" Then
                ErroInfo = "No value"
            End If
        End Try

        'delete subkey
        rk.DeleteSubKey("xxx",False)

        rk.Close()
        Return RegValue
    End Function


    'test
    Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
        MsgBox(RegValue(RegCurrentUser,"Control Panel\Colors","ActiveBorder"))
    End Sub
End Class

更加详细的信息,可以查询:http://www.lob.cn/Special/registry/Index.shtml

原文地址:https://www.jb51.cc/vb/258869.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐