Qt编译时加入管理员权限UAC配置
1.使用微软 VS 编译器的配置
在 Qt Creator (qmake) 的.pro 里加入编译配置
QMAKE_LFLAGS +=/MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
2.使用mingw编译器的配置
在 Qt Creator (qmake) 的.pro 里加入编译配置
RC_FILE= main.rc
.rc 文件除了加入应用程序icon图标资源声明,还可以加入管理员权限要求声明
广告
IDI_ICON1 ICON DISCARDABLE "./res/logo.ico" 1 24 uac.manifest
第一行是在程序中添加图标,资源路径为”./res/logo.ico”;
第二行是增加权限声明,文件名为uac.manifest
继续添加uac.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>
3.使用CMAKE的配置
在 add_executable之后加入
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\"/SUBSYSTEM:WINDOWS")