RegistryKey.DeleteSubKeyTree 方法

定义

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

重载

DeleteSubKeyTree(String, Boolean)

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

DeleteSubKeyTree(String)

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

DeleteSubKeyTree(String, Boolean)

Source:
RegistryKey.cs

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

public void DeleteSubKeyTree (string subkey, bool throwOnMissingSubKey);
[System.Runtime.InteropServices.ComVisible(false)]
public void DeleteSubKeyTree (string subkey, bool throwOnMissingSubKey);

参数

subkey
String

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

throwOnMissingSubKey
Boolean

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

属性

例外

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

- 或 -

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

subkeynull

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

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

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

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5

DeleteSubKeyTree(String)

Source:
RegistryKey.cs

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

public void DeleteSubKeyTree (string subkey);

参数

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();
}

注解

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

注意

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

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5