方案一:(仅适用于使用msvc编译器)
在PRO文件中添加一行指令即可。
QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator'uiAccess='false'"
方案二:(适用于mingw32编译器)
先创建一个 .manifest 文件,如:app.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>
在执行程序(exe)所在的目录中执行mt命令(在VS自带的“开发人员命令提示”工具中):
mt.exe -manifest "app.manifest" -outputresource:"app.exe";#1
注意:直接执行以上命令要确保先切换到产物目录并且保证app.exe和app.manifest文件都要在其中。
或 在app.rc的资源文件中添加
1 24 app.manifest