如何在c#注册表中将权限设置为完全控制

本文关键字:设置 控制 权限 注册表 | 更新日期: 2023-09-27 18:11:01


我有一个名为"a"的密钥,位于HKLM''SOFTWARE
中它的权限设置为拒绝。。。我正试图将其设置为这样的完全控制:

     using (RegistryKey rk =
        Registry.LocalMachine.OpenSubKey(@"SOFTWARE'a"))
                {
                    string gname = Environment.UserDomainName + @"'" + Environment.UserName;
                    RegistrySecurity rs = new RegistrySecurity();
                    rs.AddAccessRule(new RegistryAccessRule(gname, RegistryRights.ReadKey, AccessControlType.Allow));
                    rk.SetAccessControl(rs);
                }

但它给抛出了一个异常

    using (RegistryKey rk =
        Registry.LocalMachine.OpenSubKey(@"SOFTWARE'a"))

表示"不允许请求的注册表访问。"有什么想法吗?

如何在c#注册表中将权限设置为完全控制

RegistryKey.LocalMachine.OpenSubKey(@"SOFTWARE'a")不打开用于写入的密钥。请尝试使用RegistryKey.LocalMachine.OpenSubKey(@"SOFTWARE'a", true)重载来指定您希望密钥是可写的。