是否可以在运行时在“高 DPi”和“非高 DPi”程序视图之间切换?据我了解,它是在清单文件中确定的,您可以拥有高 DPi 应用程序或没有高 Dpi 应用程序,但不能同时拥有它们。我说得对吗?
SetProcessDpiAwareness
函数在运行时指定它。或者对于早于每个显示器 DPI 感知的旧操作系统,有 SetProcessDPIAware
。
请仔细阅读文档。作为广泛的指导原则,建议您不要使用这些函数,并且应该更愿意在清单中指定此状态。这确实是一个不寻常的应用程序,需要使用
SetProcessDpiAwareness
或 SetProcessDPIAware
。
至少您肯定需要在流程生命周期的早期进行调用。 Windows 不仅希望调用尽早发生,而且我预计 VCL 的设计不会很好地应对进程生命周期中途的策略变化。