トップページ > 記事閲覧
フルスクリーンとフックについて
名前:yellow 日時: 2023/01/31 17:57

フルスクリーンとウィンドウの交互切り替えで 簡易的に ALT+RETURNを使えるように設定して 3Dアクションサンプルcppに次の記述を加えてから dxlibのメッセージをフックする関数を追加したとします SetUseASyncChangeWindowModeFunction( TRUE, NULL, NULL ) ; フックの用途はxボタンでウィンドウを閉じたときに プロセスが残らないようにするためです。 SetHookWinProc( HookDxLibMessage ) ; LRESULT CALLBACK HookDxLibMessage(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { switch (msg) { case WM_CLOSE: break; case WM_DESTROY: PostQuitMessage(0); DxLib_End(); exit(0); return 0; } return DefWindowProc(hWnd, msg, wp, lp); } 実行するとALT+RETURNを押すと交互に切り替わるものの ウィンドウに戻った時にタイトルバー以下の描画が乱れてしまいます。 フックを使用しなければ正常に描画されますが、 使用した状態で正しく描画するにはどうすればよいでしょうか
メンテ

Page: 1 |

Re: フルスクリーンとフックについて ( No.1 )
名前:管理人 日時:2023/01/31 23:47

SetHookWinProc で登録するコールバック関数では DefWindowProc は呼ぶ必要はありませんので return DefWindowProc(hWnd, msg, wp, lp); ↑ こちらの部分を return 0; ↑ このように変更してみてください
メンテ
Re: フルスクリーンとフックについて ( No.2 )
名前:yellow(解決) 日時:2023/02/01 07:02

なるほど、関数内の戻り値が影響していたのですね。 修正すると問題なく動作しました。ご教示いただきありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存