Freigeben über


RegistryKey.DeleteSubKeyTree Methode

Definition

Löscht einen Unterschlüssel und untergeordnete Unterschlüssel rekursiv, mit optionaler Ausnahmebehandlung.

Überlädt

DeleteSubKeyTree(String, Boolean)

Löscht den angegebenen Unterschlüssel und untergeordnete Unterschlüssel rekursiv und gibt an, ob eine Ausnahme ausgelöst wird, wenn der Unterschlüssel nicht gefunden wird.

DeleteSubKeyTree(String)

Löscht einen Unterschlüssel und alle untergeordneten Unterschlüssel rekursiv.

DeleteSubKeyTree(String, Boolean)

Quelle:
RegistryKey.cs

Löscht den angegebenen Unterschlüssel und untergeordnete Unterschlüssel rekursiv und gibt an, ob eine Ausnahme ausgelöst wird, wenn der Unterschlüssel nicht gefunden wird.

public:
 void DeleteSubKeyTree(System::String ^ subkey, bool throwOnMissingSubKey);
public void DeleteSubKeyTree (string subkey, bool throwOnMissingSubKey);
[System.Runtime.InteropServices.ComVisible(false)]
public void DeleteSubKeyTree (string subkey, bool throwOnMissingSubKey);
member this.DeleteSubKeyTree : string * bool -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.DeleteSubKeyTree : string * bool -> unit
Public Sub DeleteSubKeyTree (subkey As String, throwOnMissingSubKey As Boolean)

Parameter

subkey
String

Der Name des zu löschenden Unterschlüssels. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.

throwOnMissingSubKey
Boolean

Gibt an, ob eine Ausnahme ausgelöst werden soll, wenn der angegebene Unterschlüssel nicht gefunden werden kann. Wenn dieses Argument true und der angegebene Unterschlüssel nicht vorhanden ist, wird eine Ausnahme ausgelöst. Wenn dieses Argument false und der angegebene Unterschlüssel nicht vorhanden ist, findet keine Aktion statt.

Attribute

Ausnahmen

Es wurde versucht, den Stammhive der Struktur zu löschen.

- oder -

subkey gibt keinen gültigen Registrierungsunterschlüssel an, und throwOnMissingSubKey ist true.

subkey ist null.

Der RegistryKey ist geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Der Benutzer verfügt nicht über die notwendigen Registrierungsrechte.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen, um den Schlüssel zu löschen.

Gilt für:

DeleteSubKeyTree(String)

Quelle:
RegistryKey.cs

Löscht einen Unterschlüssel und alle untergeordneten Unterschlüssel rekursiv.

public:
 void DeleteSubKeyTree(System::String ^ subkey);
public void DeleteSubKeyTree (string subkey);
member this.DeleteSubKeyTree : string -> unit
Public Sub DeleteSubKeyTree (subkey As String)

Parameter

subkey
String

Der zu löschende Unterschlüssel. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.

Ausnahmen

subkey ist null.

Es wird versucht, eine Stammstruktur zu löschen.

- oder -

subkey gibt keinen gültigen Registrierungsunterschlüssel an.

Ein E/A-Fehler ist aufgetreten.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen, um den Schlüssel zu löschen.

Der zu bearbeitende RegistryKey ist geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Der Benutzer verfügt nicht über die notwendigen Registrierungsrechte.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die RegistryKey-Klasse bereitgestellt wird.

// Delete or close the new subkey.
Console::Write( "\nDelete newly created registry key? (Y/N) " );
if ( Char::ToUpper( Convert::ToChar( Console::Read() ) ) == 'Y' )
{
   Registry::CurrentUser->DeleteSubKeyTree( "Test9999" );
   Console::WriteLine( "\nRegistry key {0} deleted.", test9999->Name );
}
else
{
   Console::WriteLine( "\nRegistry key {0} closed.", test9999->ToString() );
   test9999->Close();
}
// Delete or close the new subkey.
Console.Write("\nDelete newly created registry key? (Y/N) ");
if(Char.ToUpper(Convert.ToChar(Console.Read())) == 'Y')
{
    Registry.CurrentUser.DeleteSubKeyTree("Test9999");
    Console.WriteLine("\nRegistry key {0} deleted.",
        test9999.Name);
}
else
{
    Console.WriteLine("\nRegistry key {0} closed.",
        test9999.ToString());
    test9999.Close();
}
' Delete or close the new subkey.
Console.Write(vbCrLf & "Delete newly created " & _
    "registry key? (Y/N) ")
If Char.ToUpper(Convert.ToChar(Console.Read())) = "Y"C Then
    Registry.CurrentUser.DeleteSubKeyTree("Test9999")
    Console.WriteLine(vbCrLf & "Registry key {0} deleted.", _
        test9999.Name)
Else
    Console.WriteLine(vbCrLf & "Registry key {0} closed.", _
        test9999.ToString())
    test9999.Close()
End If

Hinweise

Sie müssen über die entsprechenden Berechtigungen zum Löschen des Unterschlüssels und seiner Struktur verfügen.

Achtung

Durch das Löschen eines bestimmten Schlüssels werden alle Einträge unterhalb des Schlüssels in der Struktur entfernt. Es wird keine Warnung bereitgestellt. Wenn Sie einen Unterschlüssel nur löschen möchten, wenn er keine untergeordneten Unterschlüssel enthält, verwenden Sie die DeleteSubKey -Methode.

Weitere Informationen

Gilt für: