如何讓QT程式以管理員許可權執行(UAC)

Day_Dreamer發表於2017-12-09

方案一:(僅適用於使用msvc編譯器)

在PRO檔案中新增一行指令即可,

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

 

方案二:(適用於mingw32編譯器)

先建立一個 .manifest 檔案,如:app.manifest,檔案內容如下:

 1 <?xml version='1.0' encoding='UTF-8' standalone='yes'?>  
 2 <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>  
 3   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">  
 4     <security>  
 5       <requestedPrivileges>  
 6         <requestedExecutionLevel level='requireAdministrator' uiAccess='false' />  
 7       </requestedPrivileges>  
 8     </security>  
 9   </trustInfo>  
10 </assembly>  

然後在exe所在的目錄中執行mt指令(mt指令在VS自帶的“開發人員命令提示”工具中)

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

注意:exe和manifest檔案要在同一目錄中。

以上就是讓Qt程式以管理員許可權執行的兩種方法。

 

另外,這裡還補充一個視訊教程(英文):點選檢視

 

相關文章