Delphi中的Screen.PixelPerInch异常

wswtfjt7  于 2022-10-16  发布在  其他
关注(0)|答案(1)|浏览(210)

如果我在调试器下运行我的程序,Screen.PixelPerInch始终是96DPI。如果我以EXE身份运行,它是144 DPI。如何使用相同的144 DPI值在调试器下运行?出于设计目的,UI设计者使用固定的96 DPI。这是正确的。但是在调试器下运行的代码呢?这是不对的。
我使用的是Delphi 11.1.5。在Win 10下作为普通用户(而不是管理员)。我在bds.exe链接上启用了兼容性/HDI设置(系统)(以避免表单设计人员在具有不同DPI设置的计算机上调整表单大小)。我使用默认清单设置(动态+每个监视器)

xxe27gdn

xxe27gdn1#

我在bds.exe链接上启用了兼容性/HDI设置(系统)(以避免表单设计人员在具有不同DPI设置的计算机上调整表单大小)。我使用默认清单设置(动态+每个监视器)
兼容性设置由子进程继承并重写其清单。
要解决此问题,您应该禁用bds.exe的兼容性设置,并使用“/Highdpi:unware”参数。这样,您将获得与以前相同的结果,但子进程将按照其清单所指定的方式运行。

相关问题