启用 DPI 感知设置无效(VisualStudio 2017)

Enable DPI Awareness setting has no effect (VisualStudio 2017)

我希望我的程序能够感知 DPI,但我不想以编程方式设置默认感知,因为根据 Microsoft 文档 (https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process) 不推荐这样做。项目配置中的启用 DPI 感知对清单或程序本身没有影响。

我做了什么: 我添加了一个清单文件 我还启用了 DPI 感知 清除+重建后它创建了一个清单,但我得到的只是这个清单文件,没有任何 dpi 感知标签。

   <?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='asInvoker' uiAccess='false' />
       </requestedPrivileges>
      </security>
     </trustInfo>
    </assembly>

我阅读了文档,但无法使其正常工作。手动编辑无济于事,因为清单是在构建时生成的: https://docs.microsoft.com/en-us/cpp/build/understanding-manifest-generation-for-c-cpp-programs?view=vs-2019

希望能帮到你。我尽量尽快回答。如果您需要更多信息,请告诉我

  • 这似乎是 VS2017 中的错误。如果你能升级到 VS2019 你 应该升级。这解决了我的问题。

  • 如果您无法升级,您可以右键单击 .exe 并启用
    辅助功能设置中的 dpi 感知标志。