CMake 使用

使生成的exe程序默认以管理员权限启动
  • MSVC

    SET_TARGET_PROPERTIES(projectname PROPERTIES LINK_FLAGS    "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS")
    
  • GCC
    需要添加 .rc.manifest 文件
    示例:
    uac.rc

    #include <winuser.h>
    1 RT_MANIFEST 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>
    
    target_sources(xxx PRIVATE xxx/uac.rc)
    
posted @ 2023-12-05 05:18  我的名字好长啊  阅读(110)  评论(0)    收藏  举报