Поделиться через


RegistryKey.DeleteSubKey Метод

Определение

Удаляет заданный подраздел.

Перегрузки

DeleteSubKey(String)

Удаляет заданный подраздел.

DeleteSubKey(String, Boolean)

Удаляет указанный подраздел и определяет, нужно ли создавать исключение, если подраздел не найден.

DeleteSubKey(String)

Исходный код:
RegistryKey.cs

Удаляет заданный подраздел.

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

Параметры

subkey
String

Имя удаляемого подраздела. В этой строке не учитывается регистр знаков.

Исключения

Имеет дочерние subkey подразделы.

Параметр subkey не указывает допустимый раздел реестра.

subkey равно null

У пользователя отсутствуют разрешения, необходимые для удаления раздела.

Объект RegistryKey, с которым выполняются действия, закрыт (доступ к закрытым разделам отсутствует).

У пользователя отсутствуют необходимые права доступа к реестру.

Примеры

В следующем примере показано, как использовать DeleteSubKey.

using namespace System;
using namespace Microsoft::Win32;

public ref class RegKeyDel
{
public:
    static void Main()
    {
        // Create a subkey named Test9999 under HKEY_CURRENT_USER.
        RegistryKey^ test9999 =
            Registry::CurrentUser->CreateSubKey("Test9999");
        // Create two subkeys under HKEY_CURRENT_USER\Test9999. The
        // keys are disposed when execution exits the using statement.
        RegistryKey^ testName = test9999->CreateSubKey("TestName");
        RegistryKey^ testSettings = test9999->CreateSubKey("TestSettings");

        // Create data for the TestSettings subkey.
        testSettings->SetValue("Language", "French");
        testSettings->SetValue("Level", "Intermediate");
        testSettings->SetValue("ID", 123);

        // delete the subkey "TestName"
        test9999->DeleteSubKey("TestName");
        // delete everything under and including "Test9999"
        Registry::CurrentUser->DeleteSubKeyTree("Test9999");
    }
};

int main()
{
    RegKeyDel::Main();
}
using System;
using Microsoft.Win32;

class RegKeyDel
{
    static void Main()
    {
        // Create a subkey named Test9999 under HKEY_CURRENT_USER.
        RegistryKey test9999 =
            Registry.CurrentUser.CreateSubKey("Test9999");
        // Create two subkeys under HKEY_CURRENT_USER\Test9999. The
        // keys are disposed when execution exits the using statement.
        RegistryKey testName = test9999.CreateSubKey("TestName");
        RegistryKey testSettings = test9999.CreateSubKey("TestSettings");

        // Create data for the TestSettings subkey.
        testSettings.SetValue("Language", "French");
        testSettings.SetValue("Level", "Intermediate");
        testSettings.SetValue("ID", 123);

        // delete the subkey "TestName"
        test9999.DeleteSubKey("TestName");
        // delete everything under and including "Test9999"
        Registry.CurrentUser.DeleteSubKeyTree("Test9999");
    }
}
Imports Microsoft.Win32

Public Class RegKeyDel
    Public Shared Sub Main()
        ' Create a subkey named Test9999 under HKEY_CURRENT_USER.
        Dim test9999 As RegistryKey = _
            Registry.CurrentUser.CreateSubKey("Test9999")
        ' Create two subkeys under HKEY_CURRENT_USER\Test9999. The
        ' keys are disposed when execution exits the using statement.
        Dim testName As RegistryKey = test9999.CreateSubKey("TestName")
        Dim testSettings As RegistryKey = test9999.CreateSubKey("TestSettings")

        ' Create data for the TestSettings subkey.
        testSettings.SetValue("Language", "French")
        testSettings.SetValue("Level", "Intermediate")
        testSettings.SetValue("ID", 123)

        ' delete the subkey "TestName"
        test9999.DeleteSubKey("TestName")
        ' delete everything under and including "Test9999"
        Registry.CurrentUser.DeleteSubKeyTree("Test9999")
    End Sub
End Class

Комментарии

Чтобы удалить дочерние подразделы, используйте .DeleteSubKeyTree

Будьте внимательны при удалении разделов реестра.

См. также раздел

Применяется к

DeleteSubKey(String, Boolean)

Исходный код:
RegistryKey.cs

Удаляет указанный подраздел и определяет, нужно ли создавать исключение, если подраздел не найден.

public:
 void DeleteSubKey(System::String ^ subkey, bool throwOnMissingSubKey);
public void DeleteSubKey (string subkey, bool throwOnMissingSubKey);
member this.DeleteSubKey : string * bool -> unit
Public Sub DeleteSubKey (subkey As String, throwOnMissingSubKey As Boolean)

Параметры

subkey
String

Имя удаляемого подраздела. В этой строке не учитывается регистр знаков.

throwOnMissingSubKey
Boolean

Указывает, должно ли вызываться исключение, если заданный подраздел найти невозможно. Если этот аргумент равен true, а заданный подраздел не существует, создается исключение. Если этот аргумент равен false, а заданный подраздел не существует, никакие действия не предпринимаются.

Исключения

У вложенного раздела subkey есть дочерние вложенные разделы.

Параметр subkey не задает правильный раздел реестра, и значение throwOnMissingSubKey равно true.

subkey имеет значение null.

У пользователя отсутствуют разрешения, необходимые для удаления раздела.

Объект RegistryKey, с которым выполняются действия, закрыт (доступ к закрытым разделам отсутствует).

У пользователя отсутствуют необходимые права доступа к реестру.

Комментарии

Чтобы удалить дочерние подразделы, используйте .DeleteSubKeyTree

Будьте внимательны при удалении разделов реестра.

См. также раздел

Применяется к