●解像度変更

情報


概要

解像度を変更します。

解説

引数

S:ディスプレイセッティング列挙の要素番号で解像度を指定(0起点)

サンプルプログラム

Aコンボとはコンボ。そのW=300。
そのアイテム=ディスプレイセッティング列挙。
その変更した時は~(Aコンボの値)で解像度変更。

//本体

●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
●解像度変更(Sで)
 セッティングに148を確保
 新規セッティング番号は空
 新規セッティング番号=S
 もし新規セッティング番号が空でなければ
  もしEnumDisplaySettings(『』,新規セッティング番号,POINTER(セッティング))=0でなければ
   セッティングの41に(横変更+縦変更)を『INT』でバイナリ設定
   もしChangeDisplaySettings(POINTER(セッティング),0)が0ならば、戻る
 『エラー』と言う



名前:
コメント:


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2021年12月24日 16:21
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。