我有一個MFC應用程序,它具有默認的MFC DPI支持:它支持高DPI,但不支持DPI。 Windows 10版本1703增加了對System (enhanced) DPI scaling的支持。我在.exe兼容性設置中從Windows資源管理器啓用了此模式,並且適用於我的應用程序。使用VS2017增強了系統DPI縮放比例
理想情況下,我會讓應用程序完全符合多顯示器DPI,但這是相當數量的工作。相反,如果操作系統支持,我想告訴操作系統爲我的應用程序使用系統(增強)DPI縮放。
應用程序的清單是否可以啓用此功能,如果有的話,需要添加或更改哪些內容?
此外,如何修改清單?目前,我正在使用默認的Visual Studio 2017 MFC項目結構,該項目結構在我的項目中沒有清單文件。相反,清單的內容被指定爲項目屬性,清單將使用mt.exe生成。我可以使用mt.exe注入更改嗎?如果我需要用自定義替換清單,最簡單的方法是什麼?
是的,你可以[通過你的清單啓用該設置](https://blogs.windows.com/buildingapps/2017/05/19/improving-high-dpi-experience-gdi-based-desktop-apps/) (這個例子在那篇文章的結尾附近)。 – zett42
看起來我需要'asmv3:application','asmv3:windowsSettings'和'gdiScaling'元素。我可以使用mt.exe自動生成方法將這些添加爲增量更改,還是需要手動明確指出整個清單? –
您可以通過項目設置>清單工具>其他清單文件將其添加爲增量更改。在那裏定義的文件會與自動生成的文件「合併」。 – zett42