需求

在项目开发的过程中,可能会遇到需要使用admin权限的操作。第一种操作是可以要求软件使用者,通过鼠标右键菜单,选择“以管理员身份运行”方式来运行程序,这种方式虽然对软件开发者的要求降低了,但却对软件使用者的要求提高了,并不是一种妥当的方式。下面提供一种亲测可行的方式,自动将软件提升管理员(admin)权限。(已测试平台:windows 11 64bit,windows 7 64bit)

实现步骤
  1. 新建一个文本文档,填入以下内容后,保存为uac.manifest:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='requireAdministrator' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
  1. 将mt.exe 、uac.manifest、example.exe放置在同一目录
  2. 用cmd命令行执行:
mt.exe -manifest "uac.manifest" -outputresource:"example.exe";#1

​ 输出以下结果,表明操作成功。

为软件提升管理员权限(mt.exe)_管理员

  1. 并且程序带了一个盾牌的图标,则设置成功。此时双击运行软件,软件将具有管理员权限。
参考链接

[mt.exe] : ​​https://docs.microsoft.com/en-us/windows/win32/sbscs/mt-exe​