【发布时间】:2019-01-30 21:18:07
【问题描述】:
我有 C++ 应用程序,它在 Windows 10 上使用 CreateProcessA 打开其他应用程序。这些应用程序可能有不同的 DPI 感知设置。
所以问题是 - 我可以创建将 DPI Awareness 设置为 DPI_AWARENESS_CONTEXT_UNAWARE 的进程吗?
如果没有 - 那么也许我可以为已经创建的进程设置DPI_AWARENESS_CONTEXT_UNAWARE?
统一更新: 我的应用程序生成应用程序,然后改变一个人的位置。如果它看起来是另一台具有不同 DPI 的显示器,则会提供缩放值。
如果应用支持 DPI,则在移动完成后,尺寸会根据 WM_DPICHANGED 消息值更改。衍生的应用程序可能具有不同的 DPI 感知模式。所以想法是为它们设置一种模式,并以相同的逻辑控制所有它们的位置和尺寸。
【问题讨论】:
-
您的问题不清楚。 DPI 意识不是从启动过程中继承的。您的进程启动的应用程序的 DPI 意识将设置为这些应用程序想要的任何内容。这不是你应该关心或尝试改变的事情。
-
您好 htonus,问题解决了吗here:在应用程序中检测辅助显示器的分辨率?
标签: c++ winapi createprocess highdpi