Вы можете сделать это, используя EnumDisplayDevices
и ChangeDisplaySettingsEx
, пропуская CDS_SET_PRIMARY
, чтобы выбрать монитор, который вы хотите использовать.Предоставляет ли это лучший интерфейс, я не знаю.В противном случае вам нужно было бы покопаться в документах WDDM на нескольких мониторах, перечисленных здесь , IViewHelper
COM-документах или в пользовательском режиме API конфигурации дисплея выставленопо D3D.
Но мне интересно, как Windows может предоставить настройки для переключения мониторов в настройках системы, хотя нет интерфейса программирования
Следует отметить, чтов Windows драйверы дисплея должны предоставлять определенные функции для реализации низкоуровневого API для ядра Windows, что позволяет ядру легко выполнять такие задачи.
Как разработчики драйверов дисплея могут знатькак разрабатывать свои драйверы?Что может быть причиной для того, чтобы не делать такие вещи общедоступными?
У них были бы специальные DDK, доступные для них * (здесь [ XDDM | WDDM ]документы MSDN по написанию драйверов дисплея).API-интерфейс, необходимый для легкого обмена выводом на монитор, вероятно, не является общедоступным, потому что он нужен очень немногим, поэтому они предпочитают тратить свое время и деньги на исправление ошибок в часто используемых разделах.
*Я бы предположил, что хотя в общедоступном DDK есть несколько древних примеров из 3dlabs для реализации драйверов дисплея, а онлайн-документы довольно полны, но написание полноценного драйвера дисплея - задача major , и, скорее всего,нужна прямая поддержка со стороны MS, которая, вероятно, потребует от вас ISV-поставщика MS или аппаратного партнера.