ChangeDisplaySettingsEx 関数は、指定したディスプレイデバイスの設定を指定したグラフィックモードに変更する。(Unicode)
ChangeDisplaySettingsExW lpszDeviceName, lpDevMode, hwnd, dwflags, lParam
lpszDeviceName : [wstr] グラフィックモードを変更するディスプレイデバイスを指定する null 終端文字列へのポインタ。EnumDisplayDevices が返すディスプレイデバイス名のみ有効。これらに関連付けられた名前の詳細については EnumDisplayDevices を参照。lpszDeviceName は NULL でもよい。NULL は既定のディスプレイデバイスを指定する。既定のデバイスは EnumDisplayDevices を呼んで DISPLAY_DEVICE_PRIMARY_DEVICE フラグを確認することで判別できる。 lpDevMode : [var] 新しいグラフィックモードを記述する DEVMODE 構造体へのポインタ。lpDevMode が NULL の場合、レジストリに現在ある値がディスプレイ設定に使われる。lpDevMode に NULL、dwFlags に 0 を渡すのは、動的なモード変更後に既定モードに戻す最も簡単な方法である。dmSize メンバには DEVMODE 構造体のサイズ (バイト) を初期化する必要がある。dmDriverExtra メンバには、DEVMODE 構造体に続くプライベートドライバデータのバイト数を示す値を初期化する必要がある。さらに、DEVMODE 構造体の以下のメンバを使用できる。 hwnd : [intptr] 予約されており、NULL でなければならない。 dwflags : [int] lParam : [intptr] dwFlags が CDS_VIDEOPARAMETERS の場合、lParam は VIDEOPARAMETERS 構造体へのポインタ。それ以外の場合、lParam は NULL でなければならない。
(プラグイン / モジュール : user32.dll)
ChangeDisplaySettingsEx 関数は、指定したディスプレイデバイスの設定を指定したグラフィックモードに変更する。(Unicode) [戻り値] ChangeDisplaySettingsEx 関数は次のいずれかの値を返す。 (以下省略) [備考] ChangeDisplaySettingsEx に渡す DEVMODE 構造体が有効でディスプレイドライバがサポートする値のみを含むことを保証するには、EnumDisplaySettings 関数が返した DEVMODE を使用する。プログラムによって複数モニタシステムにディスプレイモニタを追加する場合、DEVMODE.dmFields に DM_POSITION を設定し、追加するモニタの位置 (DEVMODE.dmPosition) を、既存モニタの表示領域の少なくとも 1 ピクセルに隣接するように指定する。モニタを切り離すには DEVMODE.dmFields に DM_POSITION を設定し、DEVMODE.dmPelsWidth と DEVMODE.dmPelsHeight を 0 にする。詳細は Multiple Display Monitors を参照。ディスプレイモードが動的に変更されると、次のメッセージパラメータで WM_DISPLAYCHANGE メッセージが実行中のすべてのアプリケーションに送られる。 (以下省略)
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |