#windows #screen #display
#Windows #экран #отображение
Вопрос:
Я знаю, что могу создавать коллажное отображение с помощью панели управления Intel® Graphics и центра управления Intel® Graphics.
Однако могу ли я отображать коллаж программно? Каким бы ни было решение, это Windows API, Intel API, Powershell, командная строка или любой документ.
Жду помощи, спасибо!
Ответ №1:
Я думаю, вы можете сделать это с помощью ChangeDisplaySettingsEx WinAPI. Установите DM_POSITION
бит в dmFields
и dmPosition
в значение.
Чтобы найти имена устройств монитора и текущие прямоугольники, EnumDisplayMonitors
и GetMonitorInfo
.
Еще пара замечаний.
Основной дисплей находится в верхнем левом положении [ 0, 0 ]
, и вы не можете это изменить. Однако координаты являются целыми числами со знаком, поэтому вы можете установить для какой-либо другой позиции отображения отрицательное значение X.
Остерегайтесь масштабирования DPI. Единицы измерения, которые вы будете получать в прямоугольниках, и настройки в смещениях зависят от манифеста DPI в вашей программе.
Комментарии:
1. Спасибо за вашу помощь. Я пытался использовать ChangeDisplaySettingsEx WinAPI, но это не сработало. Когда я пытаюсь установить dmPelsWidth со значением, которое больше, чем поддерживается одним монитором, этот WinAPI вернет ошибку. Сейчас я пытаюсь использовать Intel CUI SDK, если у меня будут какие-либо новости, я расскажу вам.
2. @Whitesoft Почему вы пытаетесь изменить размер? Единственное, что вам нужно изменить, это положение.
3. Может быть, мы говорим о разных вещах? Отображение коллажа — это специальный режим отображения. Если мы включим отображение коллажа, мы сможем видеть только один дисплей на панели управления Windows. И все рабочие столы будут объединены в один. Если вы развернете окно, вы увидите, что окно охватывает все дисплеи, как если бы у нас был только один физический дисплей. Если вы включите эту функцию с двумя мониторами 1920 * 1080 по горизонтали, вы обнаружите, что разрешение становится 3840 * 1080.