-PR-
締切済み

PeekMessage

  • 暇なときにでも
  • 質問No.297375
  • 閲覧数517
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 59% (194/328)

キューにあるメッセージを調べて、その結果で
処理を場合分けしようと思っています。

 case 123:
  //ここでキューにWM_LBUTTONDOWNがあればそれは消さずに
  //PM_NOREMOVEでMyFunc()を実行する。
  MSG msg;
  PeekMessage(&msg, hWndCap, WM_LBUTTONDOWN, WM_LBUTTONDOWN, PM_NOREMOVE);
  if(msg.message == WM_LBUTTONDOWN) MyFunc();
 break;

これであってますか?
キューにメッセージが2つ以上溜まっていることもあると思うけど
そんな時はPeekMessage()でMSG構造体にメッセージを入れたら
どうなるんですか?
2つ以上溜まっている場合、1番有効なメッセージがMSG構造体に
格納されて、その後それがSendMessage()されて、2番有効な
メッセージがPeekMessage()でMSG構造体に格納
っていうのを繰り返すんですか?
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 65% (1020/1553)

よろしくないです(^^;;;
PeekMessage()の戻り値をチェックして目的のメッセージが取得できたか判断してください。戻り値についてはヘルプを見てください。


メッセージ”キュー”というくらいですから先入れ先出しですよね。
2つ以上あったら先にPostされたメッセージを取得できます。
もちろん連続して呼び出せば、次にPostされたメッセージも取得できます。

あと、SendMessage()は、メッセージキューに関してまったく関係ありません。


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

ページ先頭へ