Qt取得Windows系统管理员权限(UAC)的方法

涉及到往系统分区写入文件时,如果程序没有获得管理员权限,会出现新建文件成功但无法写入数据的问题。


msvc版本获取管理员权限的方法比较简单,只要在pro文件中加入:

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


如果使用mingw32版本,需要如下步骤:

①  新建一个文本文档,填入以下内容后,保存为uac.manifest:



  
    
      
        
      
    
  

② 将uac.manifest与应用放在同一目录,如下图:

Qt取得Windows系统管理员权限(UAC)的方法_第1张图片


③ 打开VS自带的“开发人员命令提示”工具,使用cd命令定位到上一步的目录,如下图:


        输入如下指令:

        

mt.exe -manifest "uac.manifest" -outputresource:"example.exe";#1

成功后的提示如下图:

Qt取得Windows系统管理员权限(UAC)的方法_第2张图片


可以从这里下载mt.exe及其他文件,以及一个批处理,可以自动完成这个功能:

http://pan.baidu.com/s/1slGZ5e9


你可能感兴趣的:(Qt取得Windows系统管理员权限(UAC)的方法)