0

wParam と lParam は、その時点で渡されるメッセージに固有の情報 (32 ビットだと思います) であることは知っていますが、各メッセージが 2 つに何を入れているかを知る方法はありますか?

wParam が 16 ビットで、lParam が 32 ビットであることをどこかで読みましたが、実際には何が表示されるか、または少なくともどの変数に何かが表示されると予想されるかについてはまだ説明されていません。メッセージの例をいくつか見ました。 lParam を使用するメッセージ、wParam を使用するメッセージの他の例、および両方が使用されている他の例。

たとえば、keydown は特定のキーを受け取るために wParam を使用するのを見ましたが、LButtondown では lParam が使用され、上位 16 が y、下位 16 が x です。特に lParam にある必要がある理由は理にかなっていますが (32 ビットかかるため)、他のメッセージが送信したものとその内容を確認するにはどうすればよいでしょうか?

(申し訳ありませんが、そのちょっとした暴言で私の質問を数回繰り返したかもしれません)

4

3 に答える 3

5

ごめんなさい。しかし、各メッセージの wParam と lParam で何が渡されているかを知る確実な方法は、ドキュメントを参照することです。

wParam が 16 ビットで、lParam が 32 ビットであることをどこかで読みました

thisによると、WPARAMunsigned (32 ビット) intであり、一方LPARAMは signed longです。

于 2012-08-07T10:36:55.077 に答える
3

関心のあるメッセージごとに MSDN リファレンスを参照し、メッセージの重要性wParamと意味を個別に読む必要がlParamあります。完全なリファレンスはここにあります。

于 2012-08-07T10:36:34.423 に答える
1

Microsoft のドキュメントを見てみましょう: WM_KEYDOWN の例: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646280(v=vs.85).aspx

于 2012-08-07T10:37:50.350 に答える