共用方式為


使用 High-Level 監視器組態函式

列舉實體監視器

有數個函式會列舉顯示裝置,包括 EnumDisplayMonitorsMonitorFromWindow。 這些函式記錄於 Windows GDI 文件中,主題 多顯示器。 這些函式會傳回 HMONITOR 控制代碼。 不過,儘管名稱相同,HMONITOR 句柄可以與多個實體監視器相關聯。 若要在監視器上設定設定,應用程式必須藉由呼叫 getPhysicalMonitorsFromHMONITOR 來取得實體監視器的唯一句柄。

如果您的應用程式使用 Direct3D,您可以透過呼叫 GetPhysicalMonitorsFromIDirect3DDevice9,從 Direct3D 裝置取得監視器句柄。

支援的功能

監視器可能不支援所有監視組態函式。 若要瞭解監視支援哪些函式,請呼叫 GetMonitorCapabilities

連續監視器設定

連續 監控設置是可以設定於某個最小值與最大值範圍之間的。 大部分的高階監視器組態函式都會控制連續監視設定。 例如,亮度和對比是連續設定。

連續監視器設定沒有定義真實世界的單位。 這些量度單位是任意的,可能因不同製造商而有所不同。 例如,如果兩個監視器具有相同亮度值,一個監視器看起來可能會比另一個監視器亮得多。 一般而言,應用程式會將滑桿控件或向上控件呈現給使用者。 然後,用戶可以調整設定,以提供最佳的主觀品質。

監視狀態的變更

監視器可能會因為各種原因而變更狀態,包括:

  • 使用者會使用監視器的前端面板控件來變更設定。
  • 用戶變更顯示器的螢幕解析度、更新率或色深。
  • 應用程式會使用低階監視器函式來變更無法從高階函式存取的設定。
  • 應用程式會呼叫 RestoreMonitorFactoryColorDefaultsRestoreMonitorFactoryDefaults

所有這些事件都可以變更監視設定。 它們也可以變更設定的最小值和最大值。

監視設定之間的相依性

變更色彩溫度可以改變目前的驅動電流和增益設定,反之亦然。 這些是高階監視器組態函式中唯一的相依性。 其他設定只能透過低階監視器函式來存取。 這些設定與高階設定之間可能會有相依性。 這些相依性是廠商特定的。 應用程式可以透過數種方式來處理此問題:

  • 只使用高階函式。
  • 呼叫低階函式之後,取得每個監視器設定的目前值。 不幸的是,這種方法可能會很慢,因為取得每個設定大約需要 40 毫秒。
  • 請僅在您了解其行為的特定監視器型號上使用低階函式。

已停用的螢幕設定

應用程式無法藉由呼叫高階監視器函式來停用任何監視設定。 不過,如果應用程式使用低階函式來變更高階函式不支援的監視設定,應用程式可能會不小心停用設定。 此外,使用者也可以使用前端面板控件來停用設定。 這些行為是廠商特定的。

如果監視設定變成停用,任何設定或擷取該設定的函式都會失敗,並將最後一個錯誤碼設定為ERROR_DISABLED_MONITOR_SETTING。 發生這種情況時,應用程式可以執行下列其中一項:

  • 顯示錯誤訊息,並建議用戶嘗試使用前面板控制件來調整設定。
  • 呼叫 RestoreMonitorFactoryDefaults 函式。 如果監視器具有MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS功能標誌,此函式會啟用所有受高階監視器函式支持的監視器設定。 不幸的是,函式也會將監視設定重設為其原廠預設值。

使用監視器配置