Class to add RegistryKeys

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