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

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

MSVC

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

QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"

重新构建

MinGW

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

  • 创建 .manifest 文件,如:adminboot.manifest,加入以下内容:

<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,加入以下内容:
1 24 "adminboot.manifest"
  • 将两个文件放到 .pro 文件同级目录
  • .pro 文件中加入 RC_FILE = adminboot.rc
  • 重新构建

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

你可能感兴趣的:(Qt,windows,qt,c++)