RegistryKey.DeleteSubKeyTree 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用可选的异常处理方以递归方式删除一个子项以及任何子级子项。
重载
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
为 null
。
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
要删除的子项。 此字符串不区分大小写。
例外
subkey
为 null
。
发生了 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 方法。