●XVGA解像度変更

「●XVGA解像度変更」の編集履歴(バックアップ)一覧はこちら

●XVGA解像度変更」(2009/05/31 (日) 17:29:00) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*情報 作者名:はっぱ 引用元:[[なでしこプログラム掲示板「はっぱのサンプル集57」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=734&rev=&no=0]] リンク:[[●窓ハンドルフルスクリーン]]、[[●マウス消去]]、[[●解像度変更]] *概要 解像度を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ならば、戻る  『エラー』と言う ---- #comment() ----
*情報 作者名:はっぱ 引用元:[[なでしこプログラム掲示板「はっぱのサンプル集57」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=734&rev=&no=0]] リンク:[[●窓ハンドルフルスクリーン]]、[[●マウス消去]]、[[●解像度変更]] *概要 解像度を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ならば、戻る  『エラー』と言う ---- #comment() ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

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