ウィンドウメッセージを覗く (Spy++)
Spy++は、「特定のウィンドウに対して、どのようなメッセージが、どのような順番でWindowsから送信されているか」を調査する際に大変便利なユーティリティ。
インストール
- Visual Studio を起動し、[ツール] - [ツールと機能を取得] をクリックする
- [個別のコンポーネント] タブを開き、[デバッグとテスト] セクションの [C++のプロファイルツール] を選択しインストールする
- インストールが完了したら Visual Studio の [ツール] - [Spy++] から起動できる
メッセージビュー
- 2列目:ウィンドウハンドル
- 3列目:メッセージコード(
P
,S
,s
,R
) - デコードされたメッセージパラメーターと戻り値は 4列目以降に表示される
メッセージコード
コード | 意味 |
---|---|
P | PostMeesage 関数でメッセージがキューにポストされた(posted)。メッセージの最終的な処理に関する情報はない |
S | SendMessage 関数でメッセージが送信された(sent)。これは、受信側がメッセージを処理して返すまで、送信側は再度制御できるようにならないことを意味する。 このため、受信側は戻り値を送信側に渡すことができる |
s | メッセージは送信されたが、セキュリティにより戻り値にアクセスできない |
R | 各 'S' 行には、対応する 'R' (リターン) 行がある。これは、メッセージの戻り値の一覧を表示する。メッセージの呼び出しが入れ子になっている場合がある。これは、あるメッセージハンドラーが別のメッセージを送信することを意味する |