EnumDisplaySettingsEx |
Declare Function Api_EnumDisplaySettingsEx& Lib "user32" Alias "EnumDisplaySettingsEx" (ByVal lpszDeviceName$, ByVal iModeNum&, ByRef lpDevMode As DEVMODE, ByVal dwFlags&) |
||||||
Declare Function EnumDisplaySettingsEx Lib "user32" (ByVal lpszDeviceName As String, ByVal iModeNum As Long, ByRef lpDevMode As DEVMODE, ByVal dwFlags As Long) As Long |
|||||||
表示デバイスのグラフィックモードの 1
つに関する情報を取得する。この関数を続けて呼び出すと、表示装置のすべてのグラフィックスモードに関する情報が取得できる。 |
|||||||
パラメータ DeviceName は EnumDisplayDevices 関数から取得できる。
NULL 値を指定すると、呼び出し側スレッドが実行されているコンピュータの現在のディスプレイデバイスを取得できる。
グラフィックスモードのインデックスは、0 から始まる。表示デバイスのすべてのグラフィックスモードに関する情報を取得するには、 EnumDisplaySettings 関数を続けて呼び出す。まず、iModeNum パラメータを 0 に設定して最初の呼び出しをする。
その後、戻り値が 0 になるまで、iModeNum パラメータに 1 ずつ加算して繰り返し呼び出す。 初期化し、キャッシュに入れます。iModeNum パラメータを 0 以外の値に設定して EnumDisplaySettings 関数を呼び出すと、最後に
iModeNum パラメータを 0 に設定して呼び出したときにキャッシュされた内容が得られる。 EnumDisplaySettings 関数を呼び出す前に、dmSize メンバを sizeof(DEVMODE) に設定し、dmDriverExtra メンバを、専用のドライバ
データを受け取る追加領域のサイズ(バイト数)に設定しておく。 iModeNum パラメータの解説でも説明したとおり、この動作を利用してディスプレイデバイスのすべてのグラフィックスモードを列挙することが できる。 |