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
Будьте внимательны при удалении разделов реестра.