Das ist Form1.vb
Code:
Imports System.Runtime.InteropServices

Public Class Form1
    Dim heute As Date
    Dim yy As Int16
    Dim mm As Int16
    Dim dd As Int16
    Dim DllVal As Integer

    Dim Selected As Integer
    Dim NodSel As System.Windows.Forms.TreeNode

    Dim RegTop As Integer
    Dim RegistryName As String


    Declare Function RnRegistInit Lib "rnregist.dll" () As Integer
    Declare Function RnRegistRead Lib "rnregist.dll" (ByVal top As Integer, ByVal filename As String) As Integer
    Declare Function RnRegistFlush Lib "rnregist.dll" (ByVal top As Integer, ByVal filename As String) As Integer

    Declare Function RnRegistNextDir Lib "rnregist.dll" (ByVal Hd As Integer, ByVal pre As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistFindDir Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistCifDir Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer

    Declare Function RnRegistNextPar Lib "rnregist.dll" (ByVal Hd As Integer, ByVal pre As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistFindPar Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistFindParDef Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistCifPar Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistNextVal Lib "rnregist.dll" (ByVal Hd As Integer, ByVal pre As Integer, ByVal dir As String) As Integer
    Declare Function RnRegistCifParVal Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String, ByVal val As String) As Integer
    Declare Function RnRegistCifParValSet Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String, ByVal val As String) As Integer
    Declare Function RnRegistDrop Lib "rnregist.dll" (ByVal Hd As Integer)
    Declare Function RnRegistName Lib "rnregist.dll" (ByVal Hd As Integer, ByVal name As String) As Integer
    Declare Function RnRegistNameSet Lib "rnregist.dll" (ByVal Hd As Integer, ByVal name As String) As Integer
    Declare Function RnRegistRef Lib "rnregist.dll" (ByVal Hd As Integer) As Integer
    Declare Function RnRegistRefSet Lib "rnregist.dll" (ByVal Hd As Integer, ByVal ref As Integer) As Integer


    Public Sub New()

        InitializeComponent()
        Selected = 0

    End Sub
    Private Sub Tree_build_node(ByVal head As Integer, ByVal TreeHdr As System.Windows.Forms.TreeNode)
        Dim pdir As Integer
        Dim ppar As Integer
        Dim pval As Integer
        Dim DirName As String
        Dim ParName As String
        Dim ValName As String

        Dim NodSub As System.Windows.Forms.TreeNode
        Dim NodVal As System.Windows.Forms.TreeNode

        DirName = New String(" ", 64)
        ParName = New String(" ", 64)
        ValName = New String(" ", 64)

        pdir = RnRegistNextDir(head, 0, DirName)        ' get first param
        While pdir <> 0                                 ' while params 
            NodSub = New System.Windows.Forms.TreeNode
            NodSub.Text = DirName
            NodSub.Tag = pdir
            TreeHdr.Nodes.Add(NodSub)                    ' create treeview
            Tree_build_node(pdir, NodSub)
            pdir = RnRegistNextDir(head, pdir, DirName)        ' get first param
        End While
        ppar = RnRegistNextPar(head, 0, ParName)        ' get first param
        While ppar <> 0                                  ' while params 
            NodSub = New System.Windows.Forms.TreeNode
            NodSub.Text = ParName
            NodSub.Tag = ppar
            TreeHdr.Nodes.Add(NodSub)                    ' create treeview
            pval = RnRegistNextVal(ppar, 0, ValName)        ' get first value 
            While pval <> 0
                NodVal = New System.Windows.Forms.TreeNode
                NodVal.Text = ValName
                NodVal.Tag = pval
                NodSub.Nodes.Add(NodVal)                    ' create treeview
                pval = RnRegistNextVal(ppar, pval, ValName)        ' get first value 
            End While
            ppar = RnRegistNextPar(head, ppar, ParName) ' next param
        End While

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim DirName As String
        Dim ValName As String
        Dim phdr As Integer

        Dim NodHdr As System.Windows.Forms.TreeNode

        DirName = New String(" ", 64)
        ValName = New String(" ", 64)

        RegTop = RnRegistInit()
        RegistryName = "t_vis_set.cfg"
        DllVal = RnRegistRead(RegTop, RegistryName)
        phdr = RnRegistNextDir(RegTop, 0, DirName)
        While phdr <> 0
            NodHdr = Me.TreeView1.Nodes.Add(DirName)            'Top Directory 
            NodHdr.Tag = phdr                                   ' save position
            Tree_build_node(phdr, NodHdr)
            phdr = RnRegistNextDir(RegTop, phdr, DirName)
        End While
    End Sub
    Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
        Dim Seltext As String
        Dim slen As Integer
        NodSel = e.Node
        Seltext = New String(" ", 64)
        Selected = e.Node.Tag
        slen = RnRegistName(Selected, Seltext)
        TextBox1.Text = Seltext
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim slen As Integer
        If Selected <> 0 Then
            slen = RnRegistNameSet(Selected, TextBox1.Text)
            NodSel.Text = TextBox1.Text
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim retval As Integer
        ' RegistryName = "something_different_or_the_same.CFG"
        retval = RnRegistFlush(RegTop, RegistryName)
    End Sub
End Class