掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PostThreadMessageとPeekMessageについて (ID:65463)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> for (int i = 0; i < 100; i++){ > RecvThreadHandle->PostThreadMessage(WM_CHGSET, 0, 0); > } > DWORD Val = GetQueueStatus(QS_POSTMESSAGE); > TRACE("GetQueueStatus:[0x%08x]\n", Val); GetQueueStatusをここで呼ぶと、PostThreadMessageを呼んだ方(メイン側?)の スレッドキューを見ると思いますが。ワーカスレッドの方で呼んでますか? 並んで書いてあるだけで、実はGetQueueStatusの方はちゃんとワーカスレッドにありますか? Postの100回は全部成功してるのですよね。 > ちなみにもし誰かがSendでメッセージを送りつけてるとした場合でも、 > スレッドではPeekMessage()で判定して該当のメッセージ以外は何も処理をしないで、 > またPeekMessage()を呼ぶので、なんら問題はないような気がしますが・・・。 「該当のメッセージしか処理しない」ってのが、逆に問題なのではないかとの憶測なのですが。 > SendとPostされたものって扱いに差があるのですか? > 送信側がブロックされるかされないかだけの違いだと思っているのですが。 MSDNの記述は、全部区別してかかれてますよ>SendとPost。 内部処理が違うものですから。 # できれば最小限の再現コードが欲しいですね…。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.