Использование нескольких мониторов в качестве независимых дисплеев
При использовании нескольких мониторов в качестве независимых дисплеев рабочий стол содержит один дисплей или набор дисплеев. Этот набор дисплеев всегда включает основной монитор и ведет себя так, как описано в других разделах этого раздела. Приложение может использовать любой другой монитор в качестве независимого дисплея.
Примечание
Использование других мониторов в качестве независимых дисплеев не поддерживается в драйверах, реализованных в модели windows Display Driver Model (WDDM).
Диспетчер окон ничего не знает о независимых дисплеях. Они полностью контролируются приложением, а функции диспетчера окон недоступны для приложения (все вызовы диспетчера окон автоматически переходят на основной дисплей). Каждое независимое отображение имеет собственные координаты происхождения, а также горизонтальные и вертикальные координаты. Доступ к ней осуществляется через функции GDI, такие как CreateDC , или функции DirectX, такие как DirectDrawCreate.
Чтобы найти независимые дисплеи, вызовите EnumDisplayDevices и найдите дисплеи, которые не имеют флага DISPLAY_DEVICE_ATTACHED_TO_DESKTOP в структуре DISPLAY_DEVICE .
Приложение может открыть дисплей путем вызова
hdc = CreateDC(lpszDisplayName, NULL, NULL, lpDevMode);
В этом вызове параметр lpszDisplayName является одним из имен устройств, возвращаемых EnumDisplayDevices , а lpDevMode — описанием графического режима для этого устройства. Результирующий hdc можно использовать для выполнения любой графической операции с устройством.