Поделиться через


Использование функций конфигурации монитора Low-Level

Прежде чем использовать низкоуровневые функции конфигурации монитора, необходимо ознакомиться со следующими стандартами:

  • Командный интерфейс канала данных (DDC/CI)
  • Набор команд для управления монитором VESA (MCCS)

Низкоуровневые функции работают путем получения и задания значений кодов виртуальной панель управления (VCP). Код VCP может быть непрерывным или непрерывным. Непрерывные коды могут предполагать любое значение от нуля до максимального значения конкретного поставщика. Непрерывные коды поддерживают определенный набор значений, который также относится к поставщику.

Чтобы использовать низкоуровневые функции конфигурации монитора, выполните следующие действия.

  1. Получите дескриптор HMONITOR , вызвав EnumDisplayMonitors или MonitorFromWindow.
  2. Вызовите Метод GetNumberOfPhysicalMonitorsFromHMONITOR , чтобы получить количество физических мониторов, связанных с дескриптором HMONITOR .
  3. Вызовите Метод GetPhysicalMonitorsFromHMONITOR , чтобы получить список дескрипторов для физических мониторов.
  4. Вызовите Метод GetCapabilitiesStringLength , чтобы получить длину строки возможностей DDC/CI монитора. Строка возможностей — это строка ASCII, содержащая статические сведения о мониторе. В одной части строки перечислены коды VCP, поддерживаемые монитором. В строке также перечислены поддерживаемые значения непрерывных кодов VCP.
  5. Выделите буфер для хранения строки возможностей и вызовите CapabilitiesRequestAndCapabilitiesReply , чтобы получить строку.
  6. Выполните синтаксический анализ строки возможностей, чтобы определить, какие коды VCP поддерживает монитор.
  7. Для непрерывного кода VCP вызовите Метод GetVCPFeatureAndVCPFeatureReply , чтобы получить текущие и максимальные значения кода. Для непрерывного кода VCP выполните синтаксический анализ строки возможностей, чтобы получить поддерживаемые значения.
  8. Вызовите SetVCPFeature , чтобы задать новое значение для кода VCP.

Использование конфигурации монитора