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

相关推荐
blasit2 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
阿白的白日梦2 天前
winget基础管理---更新/修改源为国内源
windows
肆忆_3 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星3 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛5 天前
delete又未完全delete
c++
端平入洛6 天前
auto有时不auto
c++
埃博拉酱6 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21886 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号36 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
哇哈哈20216 天前
信号量和信号
linux·c++