Registry.LocalMachine.CreateSubKey: 参数无效
Registry.LocalMachine.CreateSubKey: Parameter Invalid
除了硬件、SAM、安全、软件等之外,是否可以直接在 HKEY_LOCAL_MACHINE 下使用 C# 创建?我尝试了以下代码,但出现错误:
RegistryKey key = Registry.LocalMachine.CreateSubKey("TESTFOLDER", RegistryKeyPermissionCheck.Default, RegistryOptions.None);
错误状态:
Parameter invalid
我已经尝试以管理员身份执行我的应用程序。
注册表包含多种元素。当操作系统不是 运行 时,注册表的许多部分都有存储它们的文件 - 这些在 Registry Hives
的帮助下进行了描述
您会看到 HKEY_LOCAL_MACHINE
没有配置单元文件。它下面的几个键,例如 Sam
和 Software
都有单独的配置单元文件。其他人,例如 Hardware
则没有。这是合乎逻辑的 - HKEY_LOCAL_MACHINE\Hardware
每次 OS 启动时都会重新创建。
反过来,HKEY_LOCAL_MACHINE
也会在每次 OS 启动时重新创建,然后附加子项,一些来自 Hive 文件,一些已经创建。
您无法在 HKEY_LOCAL_MACHINE
下创建新的子项,因为 OS 没有任何地方可以存储它(它不受 Hive 本身的支持)也没有任何知识可以在下一个重新创建它启动时间。
除了硬件、SAM、安全、软件等之外,是否可以直接在 HKEY_LOCAL_MACHINE 下使用 C# 创建?我尝试了以下代码,但出现错误:
RegistryKey key = Registry.LocalMachine.CreateSubKey("TESTFOLDER", RegistryKeyPermissionCheck.Default, RegistryOptions.None);
错误状态:
Parameter invalid
我已经尝试以管理员身份执行我的应用程序。
注册表包含多种元素。当操作系统不是 运行 时,注册表的许多部分都有存储它们的文件 - 这些在 Registry Hives
的帮助下进行了描述您会看到 HKEY_LOCAL_MACHINE
没有配置单元文件。它下面的几个键,例如 Sam
和 Software
都有单独的配置单元文件。其他人,例如 Hardware
则没有。这是合乎逻辑的 - HKEY_LOCAL_MACHINE\Hardware
每次 OS 启动时都会重新创建。
反过来,HKEY_LOCAL_MACHINE
也会在每次 OS 启动时重新创建,然后附加子项,一些来自 Hive 文件,一些已经创建。
您无法在 HKEY_LOCAL_MACHINE
下创建新的子项,因为 OS 没有任何地方可以存储它(它不受 Hive 本身的支持)也没有任何知识可以在下一个重新创建它启动时间。