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

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

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

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

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

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

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

 更改 level 为“requireAdministrator”,设置 uiAccess为false,保存编译、运行,程序运行后自动已管理员身份运行,并且不显示请求权限的提示窗口。

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

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