为Qt程序增加管理员权限

win7系统开始,增加了管理员权限的限制,程序对系统关键位置的文件操作、修改注册表等都需要管理员权限才能进行。在编写Qt程序的时候不可避免的会遇到权限的问题(比如通过修改注册表实现开机启动),但是Qt官方并没有系统的支持添加管理员权限的方法。网上这方面的资料还是挺多的,提供一个方便可行的办法:
1.通过记事本新建文件,内容如下:
<?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> 
命名为UAC.manifest,其实名字并不重要。
2.通过记事本新建文件,内容为:1 24 DISCARDABLE "UAC.manifest"
该文件命名为uac.rc,名字也可以自己取。其中UAC.manifest只要与上文名字一致即可。
3.将UAC.manifest和uac.rc放到需要添加管理员权限的工程目录下,也就是pro文件所在目录。
4.在工程文件中追加一行RC_FILE = uac.rc
完成这几个步骤以后,重新编译工程即可,如遇到Qt Creator报错,只需要以管理员权限运行Qt Creator,再编译工程就可以成功。编译结束后,程序图标上就会出现盾牌标志,运行的时候就会要求管理员权限。
其实这几个步骤比较机械,并没有太复杂的地方,因此我写了一个小工具实现上述功能,还集成了自定义程序图标的功能,且这两个功能是分开的,可任意选择使用。需要的朋友可以下载:
http://download.csdn.net/detail/u012952807/9567869
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值