[Qt]新增UAC功能之requireAdministrator
来源:互联网 发布:qq同步助手 mac 编辑:程序博客网 时间:2024/06/01 08:00
我们知道, win7及以上的系统权限控制的非常严格,普通用户在系统目录下没有写的权限,软件经常要写一些配置文件之类的功能就无法操作,
其实特定目录没有写的权限,但软件会运行的好好的,表面没有任何问题,它会自己重定向到C:\Users\当前登录用户名\AppData\Local\VirtualStore\类似这样的文件夹下
而且也能顺利的读取写进去的数据,win7及以上的系统有这样的重定向机制,包括注册表。
其实对我们软件来说,这绝对是个隐形的bug,有时会出现莫名其妙的bug正是由这个引起,所以我们不能任由它这么任性的重定向,有种简单的办法就是鼠标右击后“以管理员身份运行”即可解决该问题,但关键是我们不可能让我们的客户每次都这样右击管理员身份运行吧?所以我们还是得在我们自己研发的软件上做文章
首先新建一manifest文件,并编辑:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="mulitray.exe.manifest" type="win32"/><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security></trustInfo></assembly>
保存为uac.manifest(文件名自取)文件,放到Qt工程目录下,然后在同级目录创建一rc文件并编辑
1 24 DISCARDABLE "UAC.manifest"
然后在Qt工程中修改pro文件
RC_FILE = ***.rc
编译后即可。这样打包后也会默认以管理员身份运行。
不过这样有时候程序无法运行,会出现“启动程序失败,路径或者权限错误?”这样的错误
不用担心,可以通过管理员身份运行QtCreator解决!
0 0
- [Qt]新增UAC功能之requireAdministrator
- 【Qt】一劳永逸解决UAC问题
- Delphi 2010 新增功能之: IOUtils 单元
- Delphi 2010 新增功能之: IOUtils 单元
- Server 8 新增功能之NIC Teaming
- 新增功能
- 让QT程序默认管理员权限(UAC)运行
- uac
- UAC
- UAC
- UAC
- UAC
- Windows Vista UAC之我见
- windows 7的uac功能受到影响
- [转] Delphi 2010 新增功能之: IOUtils 单元: TDirectory.TFilterPredicate
- Delphi 2010 新增功能之: IOUtils 单元(4): TDirectory.GetDirectories
- 随笔之开发页面有新增功能小细节
- uiautomatorviewer 新增功能 compressed 之 Device 端细节
- re-sign.jar重签名:CreateProcess error=2 系统找不到指定的文件
- A星算法生成阻挡
- mysql报错unknown/unsupported storage engine: InnoDB
- MYSQL利用二进制日志恢复数据
- 声波通信开源项SinVoice介绍二
- [Qt]新增UAC功能之requireAdministrator
- 泊松分布和泊松过程
- python try 代码组检测错误和异常
- ext获取单元格信息
- 第十三周项目1Prim 算法验证
- mysql权限设置
- Gson用法整理
- Hibernate 与Mysql 关键字冲突
- 表间列复制操作