C# 应用程序设置运行时自动获取管理员权限,不显示uac提示

最近需要在项目中使用管理员账户权限的功能,索性在编译时就设置好,发布时无需再进行手动设置获取管理员权限,具体步骤如下,打开启动的项目属性,选择安全性设置,勾选ClickOnce设置,为避免权限滥用,选择自定义权限,如下图:

C# 应用程序设置运行时自动获取管理员权限,不显示uac提示_第1张图片

保存项目设置,然后在解决方案中,展开项目properties选项:

C# 应用程序设置运行时自动获取管理员权限,不显示uac提示_第2张图片

可以看到多了个app.manifest文件,编辑改文件,如下图:

C# 应用程序设置运行时自动获取管理员权限,不显示uac提示_第3张图片

 更改 level 为“requireAdministrator”,设置 uiAccess为false,保存编译、运行,程序运行后自动已管理员身份运行,并且不显示请求权限的提示窗口。注意,如果设置了“requireAdministrator”,保存后需要取消勾选ClickOnce,否则会无法编译,出现以下错误:

ClickOnce 不支持请求执行级别“requireAdministrator”。			

有需要的话,还可以在里面设置开启dpi感知,如图:

C# 应用程序设置运行时自动获取管理员权限,不显示uac提示_第4张图片

 

你可能感兴趣的:(C#)