我正在尝试使用以下代码创建一个新的注册表项并收到此错误:
Cannot write to the registry key.
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
var rs = new RegistrySecurity();
string user = Environment.UserDomainName + "\\" + Environment.UserName;
rs.AddAccessRule(new RegistryAccessRule(user,
RegistryRights.WriteKey | RegistryRights.SetValue,
InheritanceFlags.None,
PropagationFlags.None,
AccessControlType.Allow));
RegistryKey key;
key = Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", RegistryKeyPermissionCheck.ReadSubTree, rs);
key.SetValue("kashif", 1, RegistryValueKind.DWord);
key.Close();
Run Code Online (Sandbox Code Playgroud)
您需要打开新创建的密钥以进行读/写访问:
key = Registry.LocalMachine.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System",
RegistryKeyPermissionCheck.ReadWriteSubTree, // read-write access
rs);
Run Code Online (Sandbox Code Playgroud)