VB.NET輕鬆操作註冊表
在.NET中操作註冊表, 和VS STUDIO 時代,真是不可同日而語, .NET 之前的操作, 要引入大量的 API 函數,含有索引值類型, 錯誤類型等, 繁瑣的要死, 而.NET中,實現起來的簡單程度,已經和 DELPHI 基本相同了,下面通過例子體驗一下:
代碼:
------------------------------------------------------------------------------------
Imports Microsoft.Win32.Registry
Public Class frmMain
Inherits System.Windows.Forms.Form
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Dispose(True)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim reg As Microsoft.Win32.RegistryKey
reg = CurrentUser.OpenSubKey("Software/Microsoft/Windows/CurrentVersion/Run", True)
If reg.GetValue("test") <> "" Then
MsgBox("改索引值已經存在", MsgBoxStyle.Information, "提示")
Else
reg.SetValue("test", txtKeyValue.Text)
MsgBox("設定成功!", MsgBoxStyle.Information, "提示")
End If
reg.Close()
reg = Nothing
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim reg As Microsoft.Win32.RegistryKey
reg = CurrentUser.OpenSubKey("Software/Microsoft/Windows/CurrentVersion/Run", True)
If reg.GetValue("test") <> "" Then
reg.DeleteValue("test")
MsgBox("已刪除")
Else
MsgBox("不存在")
End If
reg.Close()
reg = Nothing
End Sub
Private Sub chkAutoStart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkAutoStart.CheckedChanged
Dim regKey As Microsoft.Win32.RegistryKey
regKey = CurrentUser.OpenSubKey("Software/Microsoft/Windows/CurrentVersion/Run", True)
If chkAutoStart.Checked Then
If regKey.GetValue("sjcatsoft") = "" Then
regKey.SetValue("sjcatsoft", Application.ExecutablePath)
End If
Else
If regKey.GetValue("sjcatsoft") <> "" Then
regKey.DeleteValue("sjcatsoft")
End If
End If
regKey.Close()
regKey = Nothing
End Sub
End Class