Функция EnumDisplayDevices


Функция EnumDisplayDevices дает возможность, получить информацию об устройствах отображения в системе.

Синтаксис 

BOOL EnumDisplayDevices(
  LPCTSTR lpDevice,                // название устройства
  DWORD iDevNum,                   // устройство отображения
  PDISPLAY_DEVICE lpDisplayDevice, // информация об устройстве
  DWORD dwFlags                    // зарезервирован
);

Параметры

lpDevice

[in] Указатель на имя устройства. Если это значение ПУСТО (NULL), функция возвращает информацию для адаптера(ов) дисплея на машине, базируясь на параметре iDevNum. Подробную информацию см. в разделе Замечания.

iDevNum

[in] Индексное значение, которое определяет устройство отображения, представляющее интерес.

Операционная система идентифицирует каждое устройство отображения индексным значением. Индексные значения - следующие друг за другом целые числа, начинающиеся с 0. Если система имеет три устройства отображения, например, они  определяются индексными значениями 0, 1, и 2.

lpDisplayDevice

[out] Указатель на структуру DISPLAY_DEVICE, которая принимает информацию об устройстве отображения, заданном параметром iDevNum.

Перед вызовом функции EnumDisplayDevices, Вы должны инициализировать член cb структуры  DISPLAY_DEVICE, как размер этой структуры, в байтах.

 dwFlags

Этот параметр в настоящее время не используется и должен быть установлен в нуль.

Возвращаемые значения

Если функция завершается успешно, величина возвращаемого значения - не ноль.

Если функция завершается ошибкой, величина возвращаемого значения - ноль. Функция завершается ошибкой тогда, если параметр iDevNum является большим чем наибольший индекс устройства.

Замечания

Чтобы сделать запрос о  всех устройствах отображения в системе, вызовите эту функцию в цикле, начинающемся с iDevNum, установленным на 0, и увеличивающим iDevNum до тех пор, пока функция не завершается ошибкой. Чтобы выделить всё устройствам отображения в рабочем столе, используйте только устройства отображения, которые имеют флажок DISPLAY_DEVICE_ATTACHED_TO_DESKTOP в структуре DISPLAY_DEVICE.

Чтобы получить информацию об адаптере дисплея, вызовите EnumDisplayDevices с параметром lpDevice, установленным в ПУСТО (NULL). Например, DISPLAY_DEVICE.DeviceString содержит имя адаптера.

Чтобы получить информацию об экранном мониторе, сначала вызовите функцию EnumDisplayDevices с параметром lpDevice, установленным в ПУСТО (NULL). Затем вызовите EnumDisplayDevices с параметром lpDevice установленным в DISPLAY_DEVICE.DeviceName от первого вызова EnumDisplayDevices и с параметром iDevNum установленным в нуль . Тогда DISPLAY_DEVICE.DeviceString - это название монитора.

Если адаптер имеет несколько мониторов, чтобы получить информацию о всех из них, Вы должны неоднократно вызывать EnumDisplayDevices. Каждый раз, когда Вы вызываете функцию, устанавливаете в параметре lpDevice название адаптера и увеличиваете параметр iDevNum

Обратите внимание! на то, что член структуры DISPLAY_DEVICE.DeviceName изменяет с каждым вызовом информацию о мониторе, так что Вы должны сохранять название адаптера. Функция завершается ошибкой тогда, когда для адаптера больше нет мониторов.

Windows 98/Me: EnumDisplayDevicesW поддерживается программой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.

Смотри также 

Обзор Контексты  устройства, Функции, используемые контекстами устройства, ChangeDisplaySettings, ChangeDisplaySettingsEx, CreateDC, DEVMODE, DISPLAY_DEVICE, EnumDisplaySettings

 

Размещение и совместимость EnumDisplayDevices

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Нет

Windows Me

Да

Windows 98

Да

Windows 95

Нет

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Реализуется как версии Unicode и  ANSI для Windows 2000/XP. А также поддерживается программой Microsoft Layer for Unicode.

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz