RegistryKey.CreateSubKey 方法

定义

创建一个新子项或打开一个现有子项。

重载

CreateSubKey(String)

创建一个新子项或打开一个现有子项以进行写访问。

CreateSubKey(String, RegistryKeyPermissionCheck)

使用指定的权限检查选项创建一个新子项或打开一个现有子项以进行写访问。

CreateSubKey(String, Boolean)

创建一个新子项或打开具有指定访问权限的现有子项。 从 .NET Framework 4.6 开始可用。

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

使用指定的权限检查选项和注册表安全性创建一个新子项或打开一个现有子项以进行写访问。

CreateSubKey(String, Boolean, RegistryOptions)

创建一个新子项或打开具有指定访问权限的现有子项。 从 .NET Framework 4.6 开始可用。

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

使用指定的权限检查和注册表选项,创建或打开一个用于写访问的子项。

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

使用指定的权限检查选项、注册表选项和注册表安全性,创建或打开一个用于写访问的子项。

CreateSubKey(String)

Source:
RegistryKey.cs

创建一个新子项或打开一个现有子项以进行写访问。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey);
member this.CreateSubKey : string -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。 此字符串不区分大小写。

返回

新创建的子项,如果操作失败,则为 null。 如果为 subkey 指定了长度为零的字符串,则返回当前 RegistryKey 对象。

例外

subkeynull

用户没有创建或打开注册表项所需的权限。

调用此方法时所针对的 RegistryKey 已关闭(无法访问已关闭的项)。

无法写入 RegistryKey;例如,它不是作为可写入项打开的,或者用户没有必需的访问权限。

嵌套级别超过 510。

- 或 -

出现系统错误,如删除注册表项,或尝试在 LocalMachine 根中创建注册表项。

示例

下面的代码示例演示如何在HKEY_CURRENT_USER下创建子项,操作其内容,然后删除子项。

using namespace System;
using namespace System::Security::Permissions;
using namespace Microsoft::Win32;

int main()
{
   // Create a subkey named Test9999 under HKEY_CURRENT_USER.
   RegistryKey ^ test9999 = Registry::CurrentUser->CreateSubKey( "Test9999" );

   // Create two subkeys under HKEY_CURRENT_USER\Test9999.
   test9999->CreateSubKey( "TestName" )->Close();
   RegistryKey ^ testSettings = test9999->CreateSubKey( "TestSettings" );

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

   // Print the information from the Test9999 subkey.
   Console::WriteLine( "There are {0} subkeys under Test9999.", test9999->SubKeyCount.ToString() );
   array<String^>^subKeyNames = test9999->GetSubKeyNames();
   for ( int i = 0; i < subKeyNames->Length; i++ )
   {
      RegistryKey ^ tempKey = test9999->OpenSubKey( subKeyNames[ i ] );
      Console::WriteLine( "\nThere are {0} values for {1}.", tempKey->ValueCount.ToString(), tempKey->Name );
      array<String^>^valueNames = tempKey->GetValueNames();
      for ( int j = 0; j < valueNames->Length; j++ )
      {
         Console::WriteLine( "{0,-8}: {1}", valueNames[ j ], tempKey->GetValue( valueNames[ j ] )->ToString() );

      }
   }
   
   // Delete the ID value.
   testSettings = test9999->OpenSubKey( "TestSettings", true );
   testSettings->DeleteValue( "id" );

   // Verify the deletion.
   Console::WriteLine( dynamic_cast<String^>(testSettings->GetValue(  "id", "ID not found." )) );
   testSettings->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();
   }
}
using System;
using System.Security.Permissions;
using Microsoft.Win32;

class RegKey
{
    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.
        using(RegistryKey
            testName = test9999.CreateSubKey("TestName"),
            testSettings = test9999.CreateSubKey("TestSettings"))
        {
            // Create data for the TestSettings subkey.
            testSettings.SetValue("Language", "French");
            testSettings.SetValue("Level", "Intermediate");
            testSettings.SetValue("ID", 123);
        }

        // Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under {1}.",
            test9999.SubKeyCount.ToString(), test9999.Name);
        foreach(string subKeyName in test9999.GetSubKeyNames())
        {
            using(RegistryKey
                tempKey = test9999.OpenSubKey(subKeyName))
            {
                Console.WriteLine("\nThere are {0} values for {1}.",
                    tempKey.ValueCount.ToString(), tempKey.Name);
                foreach(string valueName in tempKey.GetValueNames())
                {
                    Console.WriteLine("{0,-8}: {1}", valueName,
                        tempKey.GetValue(valueName).ToString());
                }
            }
        }

        using(RegistryKey
            testSettings = test9999.OpenSubKey("TestSettings", true))
        {
            // Delete the ID value.
            testSettings.DeleteValue("id");

            // Verify the deletion.
            Console.WriteLine((string)testSettings.GetValue(
                "id", "ID not found."));
        }

        // 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();
        }
    }
}
Imports System.Security.Permissions
Imports Microsoft.Win32

Public Class RegKey
    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.
        test9999.CreateSubKey("TestName").Close()
        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)
        testSettings.Close()

        ' Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under Test9999.", _
            test9999.SubKeyCount.ToString())
        For Each subKeyName As String In test9999.GetSubKeyNames()
            Dim tempKey As RegistryKey = _
                test9999.OpenSubKey(subKeyName)
            Console.WriteLine(vbCrLf & "There are {0} values for " & _
                "{1}.", tempKey.ValueCount.ToString(), tempKey.Name)
            For Each valueName As String In tempKey.GetValueNames()
                Console.WriteLine("{0,-8}: {1}", valueName, _
                    tempKey.GetValue(valueName).ToString())
            Next
        Next

        ' Delete the ID value.
        testSettings = test9999.OpenSubKey("TestSettings", True)
        testSettings.DeleteValue("id")

        ' Verify the deletion.
        Console.WriteLine(CType(testSettings.GetValue( _
            "id", "ID not found."), String))
        testSettings.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
   
    End Sub
End Class

注解

若要执行此操作,用户必须在注册表层次结构中具有此级别和更低级别的权限。

注意

不要以恶意程序可能创建数千个无意义的子项或键/值对的方式公开 RegistryKey 对象。 例如,不允许调用方输入任意键或值。

另请参阅

适用于

CreateSubKey(String, RegistryKeyPermissionCheck)

Source:
RegistryKey.cs

使用指定的权限检查选项创建一个新子项或打开一个现有子项以进行写访问。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。 此字符串不区分大小写。

permissionCheck
RegistryKeyPermissionCheck

用于指定打开该项是进行读取还是读取/写入访问的枚举值之一。

返回

新创建的子项,如果操作失败,则为 null。 如果为 subkey 指定了长度为零的字符串,则返回当前 RegistryKey 对象。

属性

例外

subkeynull

用户没有创建或打开注册表项所需的权限。

permissionCheck 包含无效值。

调用此方法时所针对的 RegistryKey 已关闭(无法访问已关闭的项)。

无法写入 RegistryKey;例如,它不是作为可写入项打开的,或者用户没有必需的访问权限。

嵌套级别超过 510。

- 或 -

出现系统错误,如删除注册表项,或尝试在 LocalMachine 根中创建注册表项。

注解

若要执行此操作,用户必须在注册表层次结构中具有此级别和更低级别的权限。

注意

不要以恶意程序可能创建数千个无意义的子项或键/值对的方式公开 RegistryKey 对象。 例如,不允许调用方输入任意键或值。

若要使用 OpenSubKey 方法,必须具有 类的 RegistryKey 实例。 若要获取 的 RegistryKey实例,请使用 类的静态成员之 Registry 一。

另请参阅

适用于

CreateSubKey(String, Boolean)

Source:
RegistryKey.cs

创建一个新子项或打开具有指定访问权限的现有子项。 从 .NET Framework 4.6 开始可用。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, bool writable);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable);
member this.CreateSubKey : string * bool -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * bool -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, writable As Boolean) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。 此字符串不区分大小写。

writable
Boolean

如果新子项可写入,则为 true;否则为 false

返回

新创建的子项,如果操作失败,则为 null。 如果为 subkey 指定了长度为零的字符串,则返回当前 RegistryKey 对象。

属性

例外

subkeynull

用户没有创建或打开注册表项所需的权限。

无法写入当前 RegistryKey;例如,它未作为可写入项打开,或用户没有必要的访问权限。

嵌套级别超过 510。

- 或 -

出现系统错误,如删除注册表项,或尝试在 LocalMachine 根中创建注册表项。

注解

若要执行此操作,用户必须在注册表层次结构中具有此级别和更低级别的权限。

注意

不要以恶意程序可能创建数千个无意义的子项或键/值对的方式公开 RegistryKey 对象。 例如,不允许调用方输入任意键或值。

若要使用 CreateSubKey 方法,必须具有 类的 RegistryKey 实例。 若要获取 的 RegistryKey实例,请使用 类的静态成员之 Registry 一。

适用于

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Source:
RegistryKey.cs

使用指定的权限检查选项和注册表安全性创建一个新子项或打开一个现有子项以进行写访问。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, System::Security::AccessControl::RegistrySecurity ^ registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity? registrySecurity);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, registrySecurity As RegistrySecurity) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。 此字符串不区分大小写。

permissionCheck
RegistryKeyPermissionCheck

用于指定打开该项是进行读取还是读取/写入访问的枚举值之一。

registrySecurity
RegistrySecurity

新项的访问控制安全性。

返回

新创建的子项,如果操作失败,则为 null。 如果为 subkey 指定了长度为零的字符串,则返回当前 RegistryKey 对象。

属性

例外

subkeynull

用户没有创建或打开注册表项所需的权限。

permissionCheck 包含无效值。

调用此方法时所针对的 RegistryKey 已关闭(无法访问已关闭的项)。

无法写入当前 RegistryKey;例如,它未作为可写入项打开,或用户没有必要的访问权限。

嵌套级别超过 510。

- 或 -

出现系统错误,如删除注册表项,或尝试在 LocalMachine 根中创建注册表项。

注解

方法 CreateSubKey 创建具有 参数指定的访问控制的 registrySecurity 注册表项。 RegistryKey返回的对象表示注册表项,但该对象不受 参数中指定的registrySecurity访问控制的限制。

如果 permissionCheckRegistryKeyPermissionCheck.ReadWriteSubTree,则打开密钥进行读/写访问。 如果 permissionCheckRegistryKeyPermissionCheck.ReadSubTree,则打开密钥以进行读取访问。

为了向后兼容,如果 permissionCheckRegistryKeyPermissionCheck.Default 为 ,则打开密钥进行读取和写入,并且父键也具有 RegistryKeyPermissionCheck.Default。 如果父键具有任何其他设置,则读/写状态由父键的设置控制。

若要执行此操作,用户必须在注册表层次结构中具有此级别和更低级别的权限。

注意

不要以恶意程序可能创建数千个无意义的子项或键/值对的方式公开 RegistryKey 对象。 例如,不允许调用方输入任意键或值。

若要使用 OpenSubKey 方法,必须具有 类的 RegistryKey 实例。 若要获取 的 RegistryKey实例,请使用 类的静态成员之 Registry 一。

另请参阅

适用于

CreateSubKey(String, Boolean, RegistryOptions)

Source:
RegistryKey.cs

创建一个新子项或打开具有指定访问权限的现有子项。 从 .NET Framework 4.6 开始可用。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, bool writable, Microsoft::Win32::RegistryOptions options);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable, Microsoft.Win32.RegistryOptions options);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable, Microsoft.Win32.RegistryOptions options);
member this.CreateSubKey : string * bool * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * bool * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, writable As Boolean, options As RegistryOptions) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。 此字符串不区分大小写。

writable
Boolean

如果新子项可写入,则为 true;否则为 false

options
RegistryOptions

要使用的注册表选项。

返回

新创建的子项,如果操作失败,则为 null。 如果为 subkey 指定了长度为零的字符串,则返回当前 RegistryKey 对象。

属性

例外

subkeynull

options 未指定有效的 选项。

用户没有创建或打开注册表项所需的权限。

无法写入当前 RegistryKey;例如,它未作为可写入项打开,或用户没有必要的访问权限。

嵌套级别超过 510。

- 或 -

出现系统错误,如删除注册表项,或尝试在 LocalMachine 根中创建注册表项。

注解

若要执行此操作,用户必须在注册表层次结构中具有此级别和更低级别的权限。

注意

不要以恶意程序可能创建数千个无意义的子项或键/值对的方式公开 RegistryKey 对象。 例如,不允许调用方输入任意键或值。

若要使用 CreateSubKey 方法,必须具有 类的 RegistryKey 实例。 若要获取 的 RegistryKey实例,请使用 类的静态成员之 Registry 一。

适用于

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Source:
RegistryKey.cs

使用指定的权限检查和注册表选项,创建或打开一个用于写访问的子项。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions registryOptions);
public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions options);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions options);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, registryOptions As RegistryOptions) As RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, options As RegistryOptions) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。

permissionCheck
RegistryKeyPermissionCheck

用于指定打开该项是进行读取还是读取/写入访问的枚举值之一。

registryOptionsoptions
RegistryOptions

要使用的注册表选项;例如,用于创建可变键的注册表选项。

返回

新创建的子项,如果操作失败,则为 null

属性

例外

subkeynull

当前的 RegistryKey 对象已关闭(无法访问关闭的项)。

无法写入当前 RegistryKey 对象;例如,它未作为可写入项打开,或用户不具有所需的访问权限。

嵌套级别超过 510。

- 或 -

发生系统错误,例如,删除了项,或者尝试在 LocalMachine 根中创建项。

用户没有创建或打开注册表项所需的权限。

注解

若要获取当前 RegistryKey 对象,请为 subkey指定空字符串 (“”) 。

适用于

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Source:
RegistryKey.cs

使用指定的权限检查选项、注册表选项和注册表安全性,创建或打开一个用于写访问的子项。

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions registryOptions, System::Security::AccessControl::RegistrySecurity ^ registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity? registrySecurity);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity registrySecurity);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, registryOptions As RegistryOptions, registrySecurity As RegistrySecurity) As RegistryKey

参数

subkey
String

要创建或打开的子项的名称或路径。

permissionCheck
RegistryKeyPermissionCheck

用于指定打开该项是进行读取还是读取/写入访问的枚举值之一。

registryOptions
RegistryOptions

要使用的注册表选项。

registrySecurity
RegistrySecurity

新子项的访问控制安全性。

返回

新创建的子项,如果操作失败,则为 null

属性

例外

subkeynull

当前的 RegistryKey 对象被关闭。 无法访问已关闭的项。

无法写入当前 RegistryKey 对象;例如,它未作为可写入项打开,或用户不具有所需的访问权限。

嵌套级别超过 510。

- 或 -

发生系统错误,例如,删除了项,或者尝试在 LocalMachine 根中创建项。

用户没有创建或打开注册表项所需的权限。

注解

若要获取当前 RegistryKey 对象,请为 subkey指定空字符串 (“”) 。

适用于