Registry Class I created because I didn’t want to use INI files anymore.
Imports Microsoft.Win32
Public Class cRegistry
Dim r_sectionKey As String
Public WriteOnly Property sectionKey() As String
Set(ByVal Value As String)
r_sectionKey = Value
End Set
End Property
Dim r_valueKey As String
Public WriteOnly Property valueKey() As String
Set(ByVal Value As String)
r_valueKey = Value
End Set
End Property
Dim r_defaultValue As Object
Public WriteOnly Property defaultValue() As Object
Set(ByVal Value As Object)
r_defaultValue = Value
End Set
End Property
Public Property value() As Object
Get
Dim regKey As RegistryKey
Dim vValue As Object
regKey = Registry.LocalMachine.OpenSubKey(r_sectionKey, False)
If regKey Is Nothing Then
createSubKey()
regKey = Registry.LocalMachine.OpenSubKey(r_sectionKey, False)
End If
vValue = regKey.GetValue(r_valueKey, r_defaultValue)
regKey.Close()
Return vValue
End Get
Set(ByVal Value As Object)
Dim regKey As RegistryKey
regKey = Registry.LocalMachine.OpenSubKey(r_sectionKey, True)
If regKey Is Nothing Then
createSubKey()
regKey = Registry.LocalMachine.OpenSubKey(r_sectionKey, True)
End If
regKey.SetValue(r_valueKey, Value)
regKey.Close()
End Set
End Property
Public Sub deleteValue()
Dim regKey As RegistryKey
regKey = Registry.LocalMachine.OpenSubKey(r_sectionKey, True)
If Not regKey Is Nothing Then
regKey.DeleteValue(r_valueKey)
regKey.Close()
End If
End Sub
Private Sub createSubKey()
Dim regkey As RegistryKey
regkey = Registry.LocalMachine.CreateSubKey(r_sectionKey)
regkey.Close()
End Sub
End Class
Example:
Module moduleMain
Public cReg as new cRegistry
End Module
...
Public Class Form1
With cReg
.sectionKey = "Software\YourApp"
.valueKey = "showScreen"
.defaultValue = True 'always set default value when you use this
msgbox(.value) 'to retrieve a value
.value = False ' to set a value
End With
End Class