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

相关推荐
_F_y33 分钟前
list简单模拟实现
c++·list
前进的程序员37 分钟前
C++ 在 Windows 和 Linux 平台上的开发差异及常见问题
linux·c++·windows
daiwoliyunshang1 小时前
哈希表实现(1):
数据结构·c++
pystraf1 小时前
模板分享:网络最小费用流
c++·算法·图论·网络流
chilavert3182 小时前
从RPA项目说说RPC和MQ的使用。
开发语言·qt·rpc·rabbitmq
thisiszdy2 小时前
<C++> MFC自动关闭对话框(MessageBoxTimeout)
c++·mfc
绯樱殇雪2 小时前
编程题 03-树2 List Leaves【PAT】
c++·pat考试
大笨象、小笨熊2 小时前
【Win32 API】 lstrcpyA()
windows
✿ ༺ ོIT技术༻2 小时前
笔试强训:Day5
c++·算法
努力的小帅3 小时前
C++_STL_map与set
开发语言·数据结构·c++·学习·leetcode·刷题