掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
サブクラス化以外でメッセージをフィルタリングするには? (ID:63150)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>あと、 >>GetMsgProc フックプロシージャは、メッセージの検討と変更を行えます。このフックプロシージャがシステムへ制御を返した後、GetMessage または PeekMessage 関数は、そのメッセージを変更結果と共に、最初にその関数を呼び出したアプリケーションへ渡します。 >というのを見つけたのですが、どうやって変更するのかわかりませんでした; lParam が MSG 構造体へのポインタになっているので、この構造体の中身を変更すればいいんじゃないのかな。 ただし、メッセージの変更はできても、送らなくすることはできないみたいですね。WM_NULL にでも書き換えればいいかな。 ちなみに、CallWndProc と GetMsgProc は違います。 CallWndProc はウィンドウプロシージャが処理するメッセージは全てフックで着ますが、GetMsgProc はメッセージキューに入っているメッセージしかフックできません。 もう少し具体的に言うと、ウィンドウにメッセージを送るには SendMessage と PostMessage という2つの手段がありますが、CallWndProc はどちらで送られたメッセージでも捕捉できるのに対し、GetMsgProc は PostMessage で送られたメッセージしか捕捉できません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.