如何在 DPI 感知设置为DPI_AWARENESS_CONTEXT_UNAWARE的情况下创建进程



我有一个应用程序C++可以在Windows 10上打开其他具有CreateProcessA的应用程序。这些应用可能具有不同的 DPI 感知设置。

所以问题是 - 我可以创建将 DPI 感知设置为 DPI_AWARENESS_CONTEXT_UNAWARE 的流程吗?

如果没有 - 那么也许我可以为已经创建的进程设置DPI_AWARENESS_CONTEXT_UNAWARE

上级:我的应用程序生成应用程序,然后更改一个人的位置。如果它似乎是另一台具有不同 DPI 的显示器,则提供缩放值。

如果应用处于 DPI 状态,则在移动完成后,尺寸会根据消息值WM_DPICHANGED更改。生成的应用可能具有不同的 DPI 感知模式。所以想法是将它们设置为一种模式,并使用相同的逻辑控制它们的位置和尺寸。

如果应用还没有清单,则可以使用 SetProcessDpiAwarenessContext 来设置感知。还要检查这个。

除非使用 CreateRemoteThread 注入远程线程,否则无法在现有应用程序上设置感知,在这种情况下,在强制应用程序不知道的内容时可能会导致不兼容。

最新更新