Sie können das GetValue
eines RegistryKey
Objekts verwenden und das Ergebnis testen, wenn Nothing
dann der Wert nicht existiert.
Hier ist ein komplettes Beispiel, das Sie zum Arbeiten bringen sollte. Beachten Sie, dass Sie könnte Notwendigkeit Admin-Rechte Schlüssel und Werte zu schaffen, in Abhängigkeit von den Maschinen Berechtigungen:
Dim myAppKey = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, Microsoft.Win32.RegistryView.Default)
If myAppKey Is Nothing Then Throw New Exception("Failed to open registry")
Dim subKeyName = "SOFTWARE\MYAPP"
'attempt to open the subkey with write acces because we need this if we are creating values
Dim subKey = myAppKey.OpenSubKey(subKeyName, True)
If subKey Is Nothing Then
'create the sub key because it doesn't exist
myAppKey.CreateSubKey(subKeyName)
're open the new key
subKey = myAppKey.OpenSubKey(subKeyName, True)
End If
'create values in a loop for testing
For i = 0 To 6
If subKey.GetValue("Value" & i) Is Nothing Then
'value does not exist so create it
subKey.SetValue("Value" & i, i)
End If
Next
ich VB.NET nicht, aber könnte mir vorstellen, es ist eine Funktion wie „keyexists“. Sie könnten 'Wenn nicht Keyexisten (' YourKey ') dann tun ...' Entweder den Schlüssel hinzufügen oder weitermachen. –
Die Struktur der Windows-Registrierung ist, dass wir in einem Schlüssel einen Wert mit einem Wert haben. Und ich möchte programmgesteuert einen neuen Wert (nicht Schlüssel) mit einem anderen Wertname erstellen. – Chata
Dasselbe sollte gelten, wenn valueexist ... usw. Dieser Link ist Delphi, aber es könnte Ihnen helfen. http://stackoverflow.com/questions/16938305/how-to-check-if-a-registry-key-exists –