QT生成的exe启动时以管理员权限启动

QT的一些文件操作,注册表的操作等,有些操作会无效,主要是因为没有对C盘的相关权限。

解决方法:

1. mingw编译器

在pro工程文件中加入

RC_FILE=main.rc

rc文件,之前一篇博客中为程序增加图标也用到此文件,没错!可以为程序添加icon
main.rc

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

第一行是为程序添加icon的;
第二行是增加权限,注意是manifest,不是mainfest。之前我看错了~
下面看看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> 

OK,这样就行了。看网上有些朋友说此方法行不通,可能是编译器不一样吧。在VS编译器上这样用会报错,VS编译器请看第二种方法。

2.VS编译器
在QT工程文件pro中加入QMAKE_LFLAGS的增加配置:

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

3.CMAKE, 放在add_executable的后面

set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS
    "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\"
    /SUBSYSTEM:WINDOWS")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值