解决方案一
在pro文件中添加
QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator'uiAccess='false'"
解决方案二
假设需要管理员权限的程序为MyApp.exe
把MyApp.exe,MyApp.exe.manifest,mt.exe放到同一个目录,打开命令提示符,cd到该目录,执行下面命令
mt.exe -manifest "MyApp.exe.manifest" -outputresource:"MyApp.exe";#1
MyApp.exe.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>
mt.exe在C:\Program Files\Windows Kits下,装过visual studio的。
为了方便,做成批处理,下载地址:QT管理员权限补丁