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