使用 Low-Level Monitor 配置函数

在使用低级别监视器配置函数之前,应熟悉以下标准:

  • 显示数据通道命令接口 (DDC/CI)
  • VESA Monitor 控制命令集 (MCCS)

低级别函数的工作原理是获取和设置虚拟控制面板 (VCP) 代码的值。 VCP 代码可以是 连续 的,也可以 是非连续的。 连续代码可以假定介于零和供应商特定的最大值之间的任何值。 非连续代码支持一组定义的值,这些值也特定于供应商。

若要使用低级别监视器配置函数,请执行以下步骤:

  1. 通过调用 EnumDisplayMonitorsMonitorFromWindow 获取 HMONITOR 句柄。
  2. 调用 GetNumberOfPhysicalMonitorsFromHMONITOR 以获取与 HMONITOR 句柄关联的物理监视器数。
  3. 调用 GetPhysicalMonitorsFromHMONITOR 以获取物理监视器的句柄列表。
  4. 调用 GetCapabilitiesStringLength 以获取监视器的 DDC/CI 功能字符串的长度。 功能字符串是包含有关监视器的静态信息的 ASCII 字符串。 字符串的一部分列出了监视器支持的 VCP 代码。 该字符串还列出了非连续 VCP 代码支持的值。
  5. 分配一个缓冲区来保存功能字符串,并调用 CapabilitiesRequestAndCapabilitiesReply 来获取该字符串。
  6. 分析功能字符串以确定监视器支持哪些 VCP 代码。
  7. 对于连续 VCP 代码,请调用 GetVCPFeatureAndVCPFeatureReply 以获取代码的当前值和最大值。 对于非连续 VCP 代码,请分析功能字符串以获取支持的值。
  8. 调用 SetVCPFeature 为 VCP 代码设置新值。

使用监视器配置