Compartir a través de


RegistryKey.DeleteSubKeyTree Método

Definición

Elimina una subclave y cualquier subclave secundaria, con control de excepciones opcional, de forma recursiva.

Sobrecargas

DeleteSubKeyTree(String, Boolean)

Elimina la subclave especificada y cualquier subclave secundaria de forma recursiva y especifica si se generará una excepción cuando no se encuentre la subclave.

DeleteSubKeyTree(String)

Elimina una subclave y las subclaves secundarias de forma recursiva.

DeleteSubKeyTree(String, Boolean)

Source:
RegistryKey.cs

Elimina la subclave especificada y cualquier subclave secundaria de forma recursiva y especifica si se generará una excepción cuando no se encuentre la subclave.

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)

Parámetros

subkey
String

Nombre de la subclave que se va a eliminar. Esta cadena no distingue entre mayúsculas y minúsculas.

throwOnMissingSubKey
Boolean

Indica si debería producirse una excepción si no se puede encontrar la subclave especificada. Si este argumento es true y la subclave especificada no existe, se genera una excepción. Si este argumento es false y la subclave especificada no existe, no se lleva a cabo ninguna acción.

Atributos

Excepciones

Se intentó eliminar el subárbol raíz del árbol.

o bien

subkey no especifica una subclave del Registro válida y throwOnMissingSubKey es true.

subkey es null.

El objeto RegistryKey está cerrado (no se puede tener acceso a claves cerradas).

El usuario no tiene los derechos necesarios en el Registro.

El usuario no tiene los permisos necesarios para eliminar la clave.

Se aplica a

DeleteSubKeyTree(String)

Source:
RegistryKey.cs

Elimina una subclave y las subclaves secundarias de forma recursiva.

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

Parámetros

subkey
String

Subclave que se va a eliminar. Esta cadena no distingue entre mayúsculas y minúsculas.

Excepciones

subkey es null.

Se ha intentado eliminar un subárbol.

o bien

subkey no especifica una subclave del Registro válida.

Error de E/S.

El usuario no tiene los permisos necesarios para eliminar la clave.

La RegistryKey que se ha manipulado está cerrada (no se puede tener acceso a las claves cerradas).

El usuario no tiene los derechos necesarios en el Registro.

Ejemplos

Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase RegistryKey.

// 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

Comentarios

Debe tener los permisos adecuados para eliminar la subclave y su árbol.

Precaución

Al eliminar una clave determinada, se quitarán todas las entradas debajo de la clave del árbol. No se proporcionará ninguna advertencia. Si desea eliminar una subclave solo cuando no tenga subclaves secundarias, use el DeleteSubKey método .

Consulte también

Se aplica a