C#桌面程序(WinForms)设置为管理员权限运行
文章分类: 软件开发
发布日期: 2021-02-20

我们在使用Visual Studio开发WinForms桌面程序的过程中,某些情况下,需要将程序设置为启用管理员权限运行。比如需要在程序中调用或配置系统的一些参数,或者对系统服务或启动项进行管理等操作,如果是普通用户权限启动程序的话,往往会无法实现。

如何使自己开发的WinForms程序启用管理员权限呢?可以按照如下步骤配置你的C#项目即可。

1、在项目名称上点击鼠标右键,在弹出的右键菜单中点击「属性」,打开项目属性,然后切换到「安全性」选项卡,勾选「启用ClickOnce安全设置」,然后Ctrl+S保存。
启用ClickOnce安全设置.png

2、此时可以看到项目的Properties目录下自动生成了app.manifest文件。
自动生成了app.manifest文件.png

3、将app.manifest文件中的
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
然后保存文件。

修改用户帐户控制级别.png

4、重新打开项目→属性→安全性,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。
还原ClickOnce安全设置.png

否则编译会报错,如下:
编译报错信息.png

5、按照以上设置并保存后,重新编译运行项目,Visual Studio会弹出如下提示,点击「使用其他凭据重新启动」,你的开发环境会重新打开,并弹出用户帐户控制提示界面,点击「是」即可重新使用管理员权限打开Visual Studio开发环境。
用户帐户控制提示界面.png

此时再编译运行项目,即可具备系统管理员权限了。


创建时间: 2021-02-20 19:44:20
更新时间: 2021-02-20 20:28:33