QT 编译时获取管理员权限的方法

阅读 36

2022-05-05

## 方案一:(仅适用于使用msvc编译器)

在PRO文件中添加一行指令即可,

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

## 方案二:(适用于mingw32编译器)

先创建一个 .manifest 文件,如:app.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>  

然后在exe所在的目录中执行mt指令(mt指令在VS自带的“开发人员命令提示”工具中)

1 mt.exe -manifest "app.manifest" -outputresource:"app.exe";#1

注意:exe和manifest文件要在同一目录中。

以上就是让Qt程序以管理员权限运行的两种方法

精彩评论(0)

0 0 举报