winform c#,不确定为什么HKEY_CURRENT_USER注册表项修改需要提升
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform c#,不确定为什么HKEY_CURRENT_USER注册表项修改需要提升相关的知识,希望对你有一定的参考价值。
我有一个小应用程序,需要在注册表中更改一些东西并在启动时打开,为此,我需要以管理员身份打开应用程序。
如果应用程序需要管理员权限,我不希望每次都询问用户。
我尝试添加清单文件并包含以下行:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
此外,应用程序应该在其用户不是管理员的站点上工作
有没有办法做这样的事情?谢谢您的帮助
答案
这听起来好像是在试图绕过密钥上的安全令牌。这根本不可能。
如果用户不是管理员,则不会让他们编辑受ACL保护的密钥,只允许管理员更改密钥。如果可能,那么整个安全系统就完全崩溃了。
如果您的应用需要管理员权限,这是您在清单中请求的权限,那么每次启动时都会提示您。没有解决这个完全禁用UAC的问题(如果有的话,应用程序只会绕过UAC并使其无用)。
如果您真的需要这样做,我的方法是在安装程序中使用自定义操作修改ACL,保护有问题的密钥以允许用户修改它。那么您首先不需要主应用程序拥有管理员权限。
以上是关于winform c#,不确定为什么HKEY_CURRENT_USER注册表项修改需要提升的主要内容,如果未能解决你的问题,请参考以下文章
.NET中C/S结构,winform怎么在datagridview中添加键盘点击事件,并设定热键?