Как я могу CreateProcess с поддержкой DPI, установленной в DPI_AWARENESS_CONTEXT_UNAWARE - PullRequest
0 голосов
/ 31 января 2019

У меня есть приложение C ++, которое открывает другие приложения с CreateProcessA в Windows 10. Эти приложения могут иметь различные настройки для DPI Awareness.

Итак, вопрос в том, могу ли я создать процессы с DPI Awareness, установленным на DPI_AWARENESS_CONTEXT_UNAWARE?

Если нет - тогда, возможно, я смогу установить DPI_AWARENESS_CONTEXT_UNAWARE для уже созданного процесса?

UPD: Мое приложение порождает приложение и затем меняет свою позицию.И если это будет другой монитор с другим DPI, то будут предоставлены масштабированные значения.

Если приложение поддерживает DPI, то после завершения перемещения размеры изменяются в соответствии со значениями сообщения WM_DPICHANGED.Порожденные приложения могут иметь разные режимы DPI Aware.Поэтому идея состояла в том, чтобы установить для них один режим и контролировать положение и размеры всех из них с помощью одной и той же логики.

1 Ответ

0 голосов
/ 31 января 2019

Если приложение еще не имеет манифеста, вы можете использовать SetProcessDpiAwarenessContext , чтобы установить осведомленность.Также отметьте this .

. Вы не можете установить осведомленность о существующем приложении, если только не внедрите удаленный поток с помощью CreateRemoteThread , в этом случае вы можете вызвать несовместимость при форсировании чего-либочто приложение не знает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...