情報
概要
解像度をXGAに変更します。
環境依存ですので成功する保証はありません。
XGAとは:1024×768ピクセルの解像度のこと。
サンプルプログラム
XVGA解像度変更。
//本体
●EnumDisplaySettings(lpszDeviceName,iModeNum,lpDevMode)=DLL("user32.dll","DWORD EnumDisplaySettingsA(LPCTSTR lpszDeviceName,DWORD iModeNum,LPDEVMODE lpDevMode)")
●ChangeDisplaySettings(lpDevMode,dwflags)=DLL("user32.dll","LONG ChangeDisplaySettingsA(LPCTSTR lpDevMode,DWORD dwflags)")
●ディスプレイセッティング列挙
セッティングに148を確保
セッティングリストは空
1のループ
もしEnumDisplaySettings(『』,回数-1,POINTER(セッティング))=0ならば、抜ける
ビット数はセッティングの105を『INT』でバイナリ取得
横解像度はセッティングの109を『INT』でバイナリ取得
縦解像度はセッティングの113を『INT』でバイナリ取得
ディスプレイフラグはセッティングの117を『INT』でバイナリ取得
もしディスプレイフラグが0ならば、ディスプレイフラグは『カラー』
もしディスプレイフラグが1ならば、ディスプレイフラグは『白黒』
もしディスプレイフラグが2ならば、ディスプレイフラグは『カラー:インタレース』
もしディスプレイフラグが3ならば、ディスプレイフラグは『白黒:インタレース』
画面周波数はセッティングの121を『INT』でバイナリ取得
セッティングリストに(横解像度&『×』&縦解像度&『/』&ビット数&『bits/』&画面周波数&『Hz/』&ディスプレイフラグ)を配列追加
セッティングリストで戻る
!ビット数変更=$40000
!横変更=$80000
!縦変更=$100000
!周波数変更=$400000
●XVGA解像度変更
セッティングに148を確保
新規セッティング番号は空
ディスプレイセッティング列挙で反復
もし(対象が『1024×768』に正規表現マッチ)ならば
新規セッティング番号は回数-1
もし新規セッティング番号が空でなければ
もしEnumDisplaySettings(『』,新規セッティング番号,POINTER(セッティング))=0でなければ
セッティングの41に(横変更+縦変更)を『INT』でバイナリ設定
もしChangeDisplaySettings(POINTER(セッティング),0)が0ならば、戻る
『エラー』と言う
最終更新:2009年05月31日 17:29