【Qt】一勞永逸解決UAC問題
阿新 • • 發佈:2019-01-07
如果你的程式跑在一個開啟了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檔案了。
QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"