locked
FAQs: 在VB.NET 中怎么读写注册表? RRS feed

答案

  • 可以通过Microsoft.Win32.Registry 类实现:

    1)  创建一个Subkey

     Imports Microsoft.Win32

    Public Class Form1

     

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Dim regKey As RegistryKey

            regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE", True)

            regKey.CreateSubKey("MyApp")

            regKey.Close()

        End Sub

    End Class

    以上的代码创建了一个Subkey ,名字是MyApp,在HKLM\Software注册表下。注意,第二个参数是“TRUE”,代表可以改写的。你也可以用“False”,如果你只想读取数据。

    2)  读和写注册表值

    Imports Microsoft.Win32

    Public Class Form1

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Dim regKey As RegistryKey

            Dim ver As Decimal

            regKey = Registry.LocalMachine.OpenSubKey("Software\MyApp", True)

            regKey.SetValue("AppName", "MyRegApp")

            ver = regKey.GetValue("Version", 0.0)

            If ver < 1.1 Then

                regKey.SetValue("Version", 1.1)

            End If

            regKey.Close()

        End Sub

    End Class

     

    上面的代码创建了2个值: Appname Version,并分别赋值:MyRegApp 1.1

    3)  删除一个Subkey

     Imports Microsoft.Win32

    Public Class Form1

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Dim regKey As RegistryKey

            regKey = Registry.LocalMachine.OpenSubKey("Software", True)

            regKey.DeleteSubKey("MyApp", True)

            regKey.Close()

        End Sub

    End Class

     

    上面的代码删除了subkey和它的所有值。

    更多详细资料:

    http://www.codeproject.com/KB/vb/registry_with_vb.aspx

       http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/5b22e94c-37a9-4be5-ad55-3d9229220194/


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年3月3日 2:43