Windows 下 Qt 可执行程序添加默认管理员权限启动(QMAKE、MinGW & MSVC)

记录 Qt/QMAKE 为可执行程序添加管理员权限

MSVC

Windows下 MSVC 套件地位超然,只需要在 .pro 文件中加入:

bash 复制代码
QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"

重新构建

MinGW

与MSVC相比,MinGW所需的操作略微繁琐;

  • 创建 .manifest 文件,如:adminboot.manifest,加入以下内容:
xml 复制代码
<?xml version="1.0"?>
<n1:assembly xmlns:n1="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <n2:trustInfo xmlns:n2="urn:schemas-microsoft-com:asm.v3">
        <n2:security>
            <n2:requestedPrivileges>
                <n2:requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
            </n2:requestedPrivileges>
        </n2:security>
    </n2:trustInfo>
</n1:assembly>
  • 创建 .rc 文件,如:adminboot.rc,加入以下内容:
bash 复制代码
1 24 "adminboot.manifest"
  • 将两个文件放到 .pro 文件同级目录
  • .pro 文件中加入 RC_FILE = adminboot.rc
  • 重新构建

注意:重新编译后,可执行文件需管理员权限启动,所以如果想在QtCreator中启动可执行程序的话,需要以管理员权限启动QtCreator

相关推荐
「QT(C++)开发工程师」6 小时前
C++ 11 常用for循环
开发语言·c++
我还记得那天6 小时前
0 初识C++
开发语言·c++
「QT(C++)开发工程师」8 小时前
C++ std::move 详解
开发语言·c++
Littlehero_1218 小时前
QT自定义控件之内嵌报表(4)(源码开源)
开发语言·qt
豆沙沙包?11 小时前
C++~~~set容器、map容器(p57-P69)
开发语言·c++
qeen8711 小时前
【数据结构】哈希表的C++实现与封装
数据结构·c++·散列表·哈希表
lqj_本人12 小时前
鸿蒙跨端实战_QT后台切换导致OpenGLES上下文丢失:黑屏自救指南
qt·华为·harmonyos
雾沉川13 小时前
WinRAR 压缩解压软件 功能介绍、硬件适配、横向对比及安装使用教程
windows·winrar·压缩软件
乐观勇敢坚强的老彭13 小时前
C++信奥GESP四级的常见题型和解题模板速查表
开发语言·c++