一劳永逸解决UAC问题(修改QMAKE_LFLAGS_EXE的设置)

如果你的程序跑在一个开启了UAC保护的系统中,而你的程序又没有"盾牌"的话,程序总是会受到各种阻挠的,比如读写文件,写注册表等。

有了"盾牌"的话就不会出现一些莫名其妙的问题了。

 

打开文件 "mkspecs\win32-msvc2012\qmake.conf"。注意,我这里用的是VC2012,所以文件夹是win32-msvc2012,根据自己的编译器选择对应的目录

找到

 

QMAKE_LFLAGS_EXE        = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"

 

改为

 

QMAKE_LFLAGS_EXE        = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"\"/MANIFESTUAC:level=\'requireAdministrator\' uiAccess=\'false\'\"

 

红色的部分是添加的属性。

这样,以后生成的程序都自带"盾牌"了,不用再去设置每个.pro文件了。

 
设置单个工程的办法原理一样,只是在工程的.pro文件中加一行
[cpp] view plain copy
 
  1. QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"  

http://blog.csdn.net/aqtata/article/details/17222691

posted @ 2016-03-14 22:22  findumars  Views(2723)  Comments(0Edit  收藏  举报