Delphi在运行时更改高dpi

时间:2016-12-06 11:03:21

标签: delphi winapi

是否可以在运行时在“High-DPi”和“not High-DPi”程序视图之间切换?据我所知,它是在清单文件中确定的,你可以有High-DPi应用程序或没有High-Dpi应用程序,但不能同时拥有它们。我是对的吗?

1 个答案:

答案 0 :(得分:3)

您可以使用SetProcessDpiAwareness功能在运行时指定此项。或者对于每个监视器DPI感知日期之前的旧操作系统,有SetProcessDPIAware

请仔细阅读文档。作为一个广泛的指导原则,建议您不要使用这些函数,并且应该更喜欢在清单中指定此状态。确实需要使用SetProcessDpiAwarenessSetProcessDPIAware

这是一个不寻常的应用程序

至少,您肯定需要在流程的生命周期中尽早拨打电话。 Windows不仅希望尽早发出呼叫,而且我希望VCL不会被设计为在流程的整个生命周期中间很好地应对策略的变化。