共用方式為


EnumDisplaySettingsExA 函式 (winuser.h)

EnumDisplaySettingsEx 函式會擷取顯示裝置其中一種圖形模式的相關信息。 若要擷取顯示裝置所有圖形模式的資訊,請對這個函式進行一系列呼叫。

此函式不同於 EnumDisplaySettings,因為 dwFlags 參數。

請注意,您設計以 Windows 8 和更新版本為目標的 app 無法再查詢或設定每圖元小於 32 位的顯示模式(bpp):這些作業將會失敗。 這些應用程式具有以 Windows 8 為目標的 相容性指令清單。 Windows 8 仍然支援 8 位和 16 位色彩模式,適用於在沒有 Windows 8 指令清單的情況下建置之傳統型應用程式;Windows 8 會模擬這些模式,但仍以 32 位色彩模式執行。
 

語法

BOOL EnumDisplaySettingsExA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode,
  [in]  DWORD    dwFlags
);

參數

[in] lpszDeviceName

Null 終止字串的指標,指定函式將取得資訊之圖形模式的顯示裝置。

這個參數 NULLDISPLAY_DEVICEDeviceNameEnumDisplayDevices傳回。 NULL 值會指定呼叫線程執行之電腦上的目前顯示裝置。

[in] iModeNum

表示要擷取的信息類型。 此值可以是圖形模式索引或下列其中一個值。

價值 意義
ENUM_CURRENT_SETTINGS
擷取顯示裝置目前的設定。
ENUM_REGISTRY_SETTINGS
擷取目前儲存在登錄中的顯示裝置設定。
 

圖形模式索引從零開始。 若要取得所有顯示裝置圖形模式的資訊,請對 EnumDisplaySettingsEx進行一連串的呼叫,如下所示:針對第一次呼叫 將 iModeNum 設定為零,併為每個後續呼叫遞增 iModeNum。 繼續呼叫 函式,直到傳回值為零為止。

當您呼叫 EnumDisplaySettingsEx 時,iModeNum 設為零,操作系統會初始化並快取顯示裝置的相關信息。 當您呼叫 EnumDisplaySettingsEx 時,iModeNum 設為非零值時,函式會傳回上次使用 iModeNum 呼叫時快取的資訊,iModeNum 設為零。

[out] lpDevMode

DEVMODE 結構的指標,函式會將指定圖形模式的相關信息儲存至其中。 在呼叫 EnumDisplaySettingsEx之前,請將 dmSize 成員設定為 sizeofDEVMODE),並設定 dmDriverExtra 成員,以位元組為單位來指出可接收私人驅動程式數據的額外空間大小。

EnumDisplaySettingsEx 函式會填入 lpDevMode 成員 dmFields,以及 DEVMODE 結構的一或多個其他成員。 若要判斷呼叫 EnumDisplaySettingsEx所設定的成員,請檢查 dmFields 位掩碼。 此函式通常會填入的一些欄位包括:

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency
  • dmPosition
  • dmDisplayOrientation

[in] dwFlags

此參數可以是下列值。

價值 意義
EDS_RAWMODE
如果設定,不論監視功能為何,函式都會傳回適配卡驅動程式所報告的所有圖形模式。 否則,它只會傳回與目前監視器相容的模式。
EDS_ROTATEDMODE
如果設定,函式會傳回所有方向的圖形模式。 否則,它只會傳回與目前針對所要求顯示器所設定相同方向的模式。

傳回值

如果函式成功,則傳回值為非零值。

如果函式失敗,傳回值為零。

言論

如果 iModeNum 大於顯示裝置上一個圖形模式的索引,則函式會失敗。 如 iModeNum 參數的描述所述,您可以使用此行為來列舉所有顯示裝置的圖形模式。

DPI 虛擬化

此 API 不會參與 DPI 虛擬化。 指定的輸出一律會以實體圖元為單位,且與呼叫內容無關。

注意

winuser.h 標頭會根據 UNICODE 預處理器常數的定義,將 EnumDisplaySettingsEx 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winuser.h (包括 Windows.h)
連結庫 User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-sysparams-ext-l1-1-1 (在 Windows 10 版本 10.0.14393 中引進)

另請參閱

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

裝置內容函式

裝置內容概觀

EnumDisplayDevices

EnumDisplaySettings