Registry.LocalMachine.CreateSubKey:参数无效

问题描述 投票:-2回答:1

除了可以使用C#在硬件,SAM,安全性,软件等之外,还可以直接在HKEY_LOCAL_MACHINE下创建。我尝试了以下代码,但出现错误:

RegistryKey key = Registry.LocalMachine.CreateSubKey("TESTFOLDER", RegistryKeyPermissionCheck.Default, RegistryOptions.None);

错误状态:

参数无效

我已经尝试过以管理员身份执行我的应用程序。

c# registrykey
1个回答
0
投票

注册表包含各种元素。注册表的许多部分都有文件,这些文件在操作系统不运行时会存储它们-在Registry Hives

的帮助下对此进行了描述

[您会看到HKEY_LOCAL_MACHINE没有配置单元文件。它下面的几个键,例如SamSoftware具有单独的配置文件。其他的,例如Hardware则没有。这是合乎逻辑的-每次操作系统启动时都会重新创建HKEY_LOCAL_MACHINE\Hardware

反过来,每次操作系统引导时也会重新创建HKEY_LOCAL_MACHINE,然后附加子项,其中一些来自Hive文件,一些已经创建。

您无法在HKEY_LOCAL_MACHINE下创建新的子项,因为操作系统没有任何地方可以存储它(它不受Hive本身的支持),也不具有下次启动时重新创建它的知识。

© www.soinside.com 2019 - 2024. All rights reserved.