RegistryKey.DeleteSubKeyTree 方法

定义

使用可选的异常处理方以递归方式删除一个子项以及任何子级子项。

重载

DeleteSubKeyTree(String, Boolean)

以递归方式删除指定的子项和任何子级子项,并指定在找不到子项时是否引发异常。

DeleteSubKeyTree(String)

递归删除子项和任何子级子项。

DeleteSubKeyTree(String, Boolean)

Source:
RegistryKey.cs

以递归方式删除指定的子项和任何子级子项,并指定在找不到子项时是否引发异常。

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)

参数

subkey
String

要删除的子项的名称。 此字符串不区分大小写。

throwOnMissingSubKey
Boolean

指示在找不到指定子项的情况下是否引发异常。 如果该参数为 true,并且指定的子项不存在,则引发异常。 如果该参数为 false,并且指定的子项不存在,则不执行任何操作。

属性

例外

尝试删除树的根配置单元。

- 或 -

subkey 未指定有效的注册表子项,并且 throwOnMissingSubKeytrue

subkeynull

RegistryKey 已关闭(无法访问已关闭的项)。

用户没有必需的注册表权限。

用户没有删除该项所需的权限。

适用于

DeleteSubKeyTree(String)

Source:
RegistryKey.cs

递归删除子项和任何子级子项。

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

参数

subkey
String

要删除的子项。 此字符串不区分大小写。

例外

subkeynull

尝试删除根配置单元。

- 或 -

subkey 未指定有效的注册表子项。

发生了 I/O 错误。

用户没有删除该项所需的权限。

要操作的 RegistryKey 已关闭(无法访问关闭的项)。

用户没有必需的注册表权限。

示例

此代码示例是为 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

注解

必须具有适当的权限才能删除子项及其树。

注意

删除特定键会删除树中该键下的所有条目。 不会提供任何警告。 如果仅当子项没有子项时才要删除子项,请使用 DeleteSubKey 方法。

另请参阅

适用于