Registry Keys prüfen und evtl. erstellen

xeEEenon

Mitglied
Hi,

ich möchte prüfen ob ein Registry-Schlüssel existiert ( !! nicht den Wert auslesen !! ).
Wenn dieser Schlüssel nicht existiert möchte ich ihn erstellen.

Weiß jemand Rat. Ich brauche die Lösung recht schnell, bitte nur die antworten die das ganze selbst mal getestet haben!

Gruß

xen
 
Hallo,

der Code ist getestet.
Damit wird geprüft ob ein Schlüssel existiert und wenn nicht wird er angelegt.

Code:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim MyKey As Microsoft.Win32.Registry
        Dim strKey As String
        Dim keyExists As Boolean
        Dim deinSchlüssel As String = "deinSchlüssel"




        For Each strKey In MyKey.LocalMachine.OpenSubKey("Software", True).GetSubKeyNames
            If strKey = deinSchlüssel Then
                keyExists = True
            End If
        Next

        If keyExists = False Then
            'Key erstellen
            Dim regHandle As Microsoft.Win32.RegistryKey
            Dim reg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine
            regHandle = reg.CreateSubKey("Software\\" & deinSchlüssel)
            regHandle.Close()
        End If




    End Sub

Das geht eventuell auch eleganter, aber es funktioniert.

Jens
 
Code:
      Try
           Dim sValue1 As String
           Dim sValue2 As String
           sValue1 = regTrial.GetValue("X").ToString()
           sValue2 = regTrial.GetValue("Y").ToString()

           If sValue1.Equals("") And sValue2.Equals("") Then
                 <code>
           End If
      Catch
           regTrial.SetValue("X", "")
           regTrial.SetValue("Y", "")
      End Try


Wenn er den Wert mit der Funktion "getValue" nicht auslesen kann, weil zB der RegistryKey nicht existiert, springt er in den Catch-Teil und erstellt mit "setValue" gleich automatisch einen Schlüssel inkl. dem angegebenen Wert.

Wie sich leider rausgestellt hat war das doch nicht die Lösung meines eigentlichen Problems aber so konnte das oben genannte Problem gelöst werden :rolleyes:
 
Zuletzt bearbeitet:
Danke JensG hab deinen Post nicht gesehen weil ich wohl net refresht hab :p

2 Lösungen :p ... und funktioniert. Thema erledigt!
 

Neue Beiträge

Zurück