QT生成的EXE文件自动申请管理员权限

11 篇文章 1 订阅
2 篇文章 0 订阅

一、项目中配置

方法一:mingw编译器

在QT的pro工程文件中加入:

RC_FILE=main.rc

新建一个rc文件,main.rc文件内容如下:

IDI_ICON1 ICON DISCARDABLE "./res/logo.ico" 
1 24 uac.manifest

其中,第一行是为程序添加icon的,第二行是增加权限,注意是manifest。

新建一个manifest文件,uac.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>

在VS编译器上这样用会报错,VS编译器请看第二种方法。

方法二:VS编译器 

在QT工程文件pro中加入QMAKE_LFLAGS的增加配置:

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

方法三:CMAKE

需要放在add_executable的后面

set_target_properties(
    ${PROJECT_NAME} PROPERTIES LINK_FLAGS "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS"
)


二、使用添加管理员权限的小工具

工具一:

Qt管理员权限工具.zip-C++文档类资源-CSDN下载

工具二:

执行方式:

start cmd /k " mt.exe -manifest "RunningPermission" -outputresource:"iphelper.exe";#1 &&taskkill /f /t /im cmd.exe"

https://download.csdn.net/download/weixin_39568531/12244748

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值