C# 注册表 SetValue 抛出 UnauthorizedAccessException

2023-11-24

在你尝试用“快速谷歌搜索”来回答这个问题之前。我想指出的是我已经这样做了。这是情况,我有以下方法尝试修改注册表项值。我遇到的问题是,执行时,它会抛出 UnauthorizedAccessException即使我已经将密钥打开为可写。我以管理员身份运行 Visual Studio,甚至尝试制作一个带有清单文件的小 .exe,强制其以管理员身份运行,但没有成功执行代码。密钥已经存在,它不会尝试进入 CreateKey 方法。这是代码块。

Path = "S-1-5-21-1644491937-1078145449-682003330-5490\Software\Microsoft\Windows\CurrentVersion\Policies\System"
Key = "DisableTaskMgr"
NewValue = 1

public OperationResult ModifyKey()
    {
        OperationResult result = new OperationResult();

        if (!Path.IsNullOrEmptyTrim())
        {
            if (!Key.IsNullOrEmptyTrim())
            {
                try
                {
                    var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, true);

                    if (key != null)
                    {
                        key.SetValue(Key, NewValue);

                        key.Close();
                    }
                    else
                    {
                        result = CreateKey();
                    }
                }
                catch (Exception ex)
                {
                    result.SetFail("Error accessing registry", ex);
                }
            }
            else
            {
                result.SetFail("Registry key was null");
            }
        }
        else
        {
            result.SetFail("Registry path was null");
        }

        return result;
    }

我是否必须手动沿着注册表树将每个 OpenSubKey 调用设置为可写?我也尝试了这个,仍然抛出同样的错误......


在你的密钥的 var 中

var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, true);

改成

var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, RegistryKeyPermissionCheck.ReadWriteSubTree);  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 注册表 SetValue 抛出 UnauthorizedAccessException 的相关文章

  • 一种链接到类、方法,尤其是 C# 注释中的特定代码行的方法

    我想使用代码中指向目标的链接来构建某种文档 目标可以是Class or a Method或特定的代码行 指向特定的代码行是最重要的 我想到了VS2010的扩展或者特定的评论标签 有什么办法可以建立这种类型的链接吗 xml注释 沙堡可能就是你
  • 反序列化 GUID 数组时出现 JSON.NET 异常

    我正在使用 JSON NET 反序列化从浏览器发送的 AJAX HTTP 请求 并且在使用 Guid 作为参数的 Web 服务调用时遇到问题 当我使用内置的 NET 序列化器时 这工作得很好 首先 流中的原始字节如下所示 System Te
  • 从 WatchOS 捕获 Apple Watch 的型号标识符

    似乎没有任何记录的官方方法可以从手表应用程序获取 Apple Watch 模型 但有一篇文章显示了特殊用途sysctlbyname 如何确定Apple Watch型号 https stackoverflow com questions 49
  • 信用卡号应该存储为字符串还是整数?

    是啊 只是想想而已 我应该将在我的网站上输入的信用卡号存储为字符串还是整数 我的意思是 它们由数字组成 这让我认为它是一个整数 但我不对它们进行数学运算 所以也许字符串更合适 编辑 所以我必须在加密之前存储在某个时刻输入的数字 我可能应该更
  • boost::noncopyable 是如何工作的

    我在 C 实践中偶然发现了两个愚蠢的问题 据我所知 c 中的复制构造函数和赋值运算符不是继承的 那么 boost noncopyable 在这种情况下如何帮助禁止这些东西呢 class X private boost noncopyable
  • 如何正确使用memcpy?

    我有一个mainbuf bufsize 最初为空 我正在阅读一些输入 read fd otherbuf sizeof otherbuf 分配给不同的字符串otherbuf 每次我分配一个新字符串给otherbuf我想将其附加到mainbuf
  • main() 是用户定义函数吗? [复制]

    这个问题在这里已经有答案了 程序员does定义内部发生的事情main 毕竟 那么 它应该被视为用户定义的函数吗 C 标准没有用户定义函数的概念 相反 它有一个概念库函数 main 不是库函数 但是 该标准还对其签名提出了一些要求 并且不得重
  • 不同平面中不同幅值的两条线段之间最近的两个 3D 点

    比方说AB1 AB2 CD1 CD2 AB1 AB2 and CD1 CD23D 点构成线段 所说的线段是不在同一平面 AP是一个点 线段AB1 AB2 BP是一个点 线段CD1 CD2 Point1 and Point2彼此最接近 两条线
  • 在 UserControl C# .NET 中添加/停靠控件

    我正在编写一个 UserControl 它以编程方式添加子控件 目前我正在添加新的控件 如下所示 this Controls Add new Control Height 16 Dock DockStyle Top 我遇到的问题是新控件添加
  • 如何将值从 ASP.NET MVC 控制器传递到 MVC 视图内的 ASP.NET Webforms 控件?

    我的 ASP NET MVC 方法并未跨越 ASP NET Web 窗体 因此我很难理解如何更好地将值从 ASP NET MVC 控制器传递到 MVC 视图内的 ASP NET Webforms 脚本 例如 控制器动作 public Vie
  • 如何重命名 MacOS/X 程序中的程序名称菜单标签?

    我有一个在 MacOS X 下运行的基于 Qt 的 GUI 程序 我希望能够更改该程序的第一个菜单标题的标签 即此屏幕截图中用红色圈出的标签 有没有一种编程方法可以做到这一点 假设不存在基于 Qt 的解决方案 则 Objective C 本
  • iText7 RegexBasedLocationExtractionStrategy 如何获取找到的文本的字体名和字体大小

    我尝试在 C 上使用 iText7 进行文本替换 我只能使用 RegexBasedLocationExtractionStrategy 获取搜索文本的内容和矩形 并且我想获取文本的字体和大小 有什么建议么 谢谢 你可以实施IText提取策略
  • NHibernate 继承 - 判别器值

    NHibernate 是否可以有一个像这样工作的判别器 如果值等于 String Empty gt Class1 其他 gt Class2 我已经有一个 CultureName 字符串列 我想将其用作鉴别器 我不想添加额外的布尔列 如果 C
  • 来自“void *”的dynamic_cast

    根据this https stackoverflow com questions 3155277 cannot dynamic cast void to templated class void 没有 RTTI 信息 因此从void 不合法
  • 网页上的富文本编辑器

    我正在尝试在我的网页中添加一个富文本编辑器 用户可以在其中撰写评论并格式化他们所写的内容 类似于我们在此网站上撰写帖子的编辑器 谁能指出我关于此的正确方向 任何可以帮助我构建这样一个组件的教程 我还想要一个免费的产品 忘记之前提到 类似的东
  • 像 MS Excel 一样在 C++ 中舍入双精度值

    我在网上进行了搜索 但找不到解决我的问题的方法 我只是想要一个像 MS Excel 那样对双精度值进行舍入的函数 这是我的代码 include
  • 使用二维动态数组编写一个类

    我有一个家庭作业 我并不是在寻找任何人为我做这项工作 我只是在一个小方面遇到了麻烦 尽管我也接受其他方面的建议 任务是 使用二维动态数组编写一个类 构造函数传入数组的维度 构造函数还将动态数组中的所有值初始化为行索引乘以列索引 交换二维数组
  • Action 的通用约束未按预期工作

    我无法理解为什么以下代码片段没有给我错误 public void SomeMethod
  • C# 固定长度的字符串对象

    我有一堂课 我想使用固定大小的字符串 固定大小的原因是该类 序列化 为文本文件 具有固定长度的值 我想避免为每个值编写一个保护子句 而是让类处理它 所以我有大约 30 个属性 看起来像这样 public String CompanyNumb
  • 使用 CRTP 模式时继承中的不明确方法

    我正在定义一个DoubleWrapper类继承自两个 CRTP 基类 Ratioable and Divable 两者都定义operator 具有不同的签名 T operator double const scalar const retu

随机推荐

  • 如何让 USB 控制器/游戏手柄与 python 一起工作

    我有一个 USB 控制器 我正在尝试从 Microsoft SideWinder 即插即用游戏手柄获取输入 我在尝试弄清楚如何正确接收其输入时遇到困难 不幸的是 我无法使用 pygame 因为它需要一个窗口来接收输入 但我必须生成一个 py
  • 反向代理的 nginx url 重写

    我在端口 80 上有一个 nginx 在端口 8080 上有一个 tomcat 配置为上游 tomcat中的war应用程序监听 pwm 我想将nginx配置为tomcat的反向代理并将url 重写为 pwm 例子 用户在浏览器中输入 web
  • 访问默认电子邮件地址

    我在 3 0 中使用 MFMailComposeViewController 在我的应用程序中发送带有附件等的电子邮件 我希望 收件人 地址默认为设备上的默认帐户 地址 如何访问此地址并将其放入 setToRecipients 的字符串中
  • dart 中构造函数后面的冒号

    该代码来自 flutter gallery 我正在尝试理解和调整它 我想知道这个语法的含义 class DemoItem
  • 如何表达两个值不相等?

    有没有类似的方法equals 表示 不等于 我想要完成的示例如下 if secondaryPassword equals initialPassword JOptionPane showMessageDialog null You ve s
  • zsh Git 信息中的星号

    我用我的终端来运行类似的东西npm run start当我在 VSCode 中使用终端时git命令 在我的笔记本电脑上 这工作得很好 但是在我的其他设备上设置 zsh 后 有一些我从未注意到的事情 在我的终端上 Desktop master
  • PHP中的内存映射文件,php://temp 和 php://memory 有什么区别

    我需要一种在 PHP 中非常简单地在内存中存储文件的方法 该文件正在构建 然后立即发送到另一个 Web 服务 我看到从 PHP 5 1 开始php temp and php memory流是可用的 但两者之间似乎没有太大区别 php tem
  • Panda read_csv 中的编码错误[重复]

    这个问题在这里已经有答案了 我正在尝试将 CSV 文件读入 Pandas 中的 Dataframe 中 当我尝试这样做时 出现以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 55 中的字节 0x96 无效的
  • 了解 Scala 中的“推断类型参数不符合类型参数边界”错误

    我无法理解为什么我收到 推断的类型参数不符合类型参数界限 首先 我定义了一个名为 CS 的特征 它可以由多个类 例如 CS01 和 CS02 实现 trait CS T lt CS T this T gt def add T def rem
  • 使用 IJava 的 Google Colab 笔记本在安装 + 刷新后卡在“正在连接”

    在初始 IJava 安装和浏览器页面刷新后 我的所有笔记本都停止连接 以前做什么工作 执行第一个单元格 wget https github com SpencerPark IJava releases download v1 3 0 ija
  • 有没有办法在更改横向方向后转换坐标系?

    在基于视图的 iPhone OS 应用程序中 我将方向从初始纵向更改为纵向横向 UIInterfaceOrientationLandscapeRight 但现在 x y 原点 0 0 位于左下角角 而不是通常的左上角 每次我想做一些涉及坐标
  • 是否有希望将ForeignPtr转换为ByteArray#(对于函数::ByteString -> Vector)

    出于性能原因 我想要一个零拷贝的转换ByteString 目前严格 Vector 自从Vector只是一个ByteArray 在引擎盖下 以及ByteString is a ForeignPtr这可能看起来像 caseBStoVector
  • 将多边形坐标从 Double 转换为 Long 以与 Clipper 库一起使用

    我有两个多边形 它们的顶点存储为双坐标 我想找到这些多边形的相交区域 所以我正在查看快船库 C 版本 问题是 Clipper 只适用于整数数学 它使用 Long 类型 有没有一种方法可以安全地使用相同的比例因子变换我的两个多边形 将它们的坐
  • Java 的 Groovy 超集 [重复]

    这个问题在这里已经有答案了 Groovy 是 Java 的超集吗 如果不是 Groovy 和 Java 之间有哪些不兼容之处 我所说的超集是指源代码向后兼容性 即 您可以获取一个 Java 文件并将其编译为 Groovy 源文件 并且它会像
  • 如何使 相同的高度

    我试图将一个元素放在一个元素的左侧 但是我似乎无法使它们具有相同的高度并彼此对齐 跨度似乎总是定位得稍高一些 有人有什么想法吗 闪闪发光 编辑 HTML 部分
  • 未找到 Gradle DSL 方法:“multiDexEnabled()”

    我遵循了 multidex 指南https developer android com tools building multidex html 但我收到这个错误未找到 Gradle DSL 方法 multiDexEnabled 我更新了
  • Response.WriteFile -- 写出字节流

    是否可以使用 Response Write WriteFile 从动态创建的位图写入 http 响应流 而不将图像保存到硬盘驱动器 您可以使用MemoryStream并将其分配给Response OutputStream 或者简单地使用Re
  • 如何通过.properties文件使@RequestParam可配置?

    我们如何通过 properties 文件进行以下配置 RequestParam value page required false defaultValue 0 Integer page RequestParam value size re
  • F#:如何使用 SQL 数据源创建 Deedle Frame

    我试图找出当数据来自 SQL 服务器时 在 F 中创建 Deedle 框架的最佳方法是什么 我尝试过类似以下的事情 I packages Deedle 0 9 12 load Deedle fsx r System dll r System
  • C# 注册表 SetValue 抛出 UnauthorizedAccessException

    在你尝试用 快速谷歌搜索 来回答这个问题之前 我想指出的是我已经这样做了 这是情况 我有以下方法尝试修改注册表项值 我遇到的问题是 执行时 它会抛出 UnauthorizedAccessException即使我已经将密钥打开为可写 我以管理