[转]使 Windows 下的 Qt 应用程序获得 Administrator 权限
来源:互联网 发布:北京房山网络职业学院 编辑:程序博客网 时间:2024/06/16 23:32
转自:http://www.devbean.net/2016/03/enable-qt-app-admin-on-win/
有些时候,我们需要在 Windows 平台以管理员权限运行某个应用程序。这样的应用程序会在右下角有一个小盾牌的图标:
Windows 如何知道一个应用程序需要在运行时获取管理员权限?这是通过向应用程序的 exe 文件中注入一个 manifest 文件来告知的。知道了这个原理,我们就可以编译出需要管理员权限的 Qt 程序了。下面就是编译过程。
1. 创建一个普通的 Qt 工程。
2. 在这个 Qt 工程中添加一个 XML 文件,命名为 menifest.xml。
menifest.xml 文件内容如下:
3. 在 .pro 文件中添加下面语句:
在这段语句中,win32
块表示仅在 Windows 平台才会运行其中的语句。这保证了我们的项目能够跨平台编译。QMAKE_POST_LINK
意味着会在链接结束之后执行后面的语句,也就是在链接完成后运行:
这是一条普通的 CMD 命令,因此需要注意的是,mt(即 mt.exe)必须在环境路径中(mt.exe 是 VS 开发环境提供的一个工具,一般安装过 VS 都会有这个工具)。同时还要注意,$$PWD/manifest.xml
和$$OUT_PWD/debug/$$TARGET".exe"
都是正确的路径。为确保路径正确,可以在 .pro 文件中使用message()
函数输出,例如:
准备完毕之后,重新运行 qmake 再重新构建工程,就可以得到我们想要的可执行程序了:
注意,如果生成失败,可重新尝试运行 qmake 再次构建。还需要注意三个路径的问题:mt.exe,$$PWD/manifest.xml 以及 $$OUT_PWD/debug/$$TARGET”.exe”。
- [转]使 Windows 下的 Qt 应用程序获得 Administrator 权限
- Windows下Administrator对文件权限修改的问题
- windows下的Administrator账户不见了
- 超越Administrator的权限
- Windows Via C/C++:vista下的应用程序权限控制
- xp下gpedit.msc administrator也木有权限的问题
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- 如何使Android应用程序获得root权限
- LuaJavaBridge - Lua 与 Java 互操作的简单解决方案
- 使用WebView实现离线阅读
- 华为机试---聊天
- haar detection demo code
- SMA、SMB、SMC封装的二极管尺寸区分
- [转]使 Windows 下的 Qt 应用程序获得 Administrator 权限
- 电脑桌面图标或者文件左下角出现蓝色问号解决办法
- static作用
- JS-2---表达式和运算符
- bootstrap table 插件 从服务器请求数据 分页
- Andoird 自定义ViewGroup
- iOS开发中常见崩溃原因汇总,你遇到了吗?
- 关于未来,关于我
- 事务声明声明式事务和编程式事务介绍