启用 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 感知标志。
我希望我的程序能够感知 DPI,但我不想以编程方式设置默认感知,因为根据 Microsoft 文档 (https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process) 不推荐这样做。项目配置中的启用 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 感知标志。