私はプログラムキュー内の複数のスレッドが通信するのを助けるためにメッセージキュー(ウィンドウで提供)を使用しています。しかし、プログラム内のすべてのスレッドに一度にメッセージを送信する必要があります。これを行う関数はありますか?すべてのスレッドにメッセージを送信できますか?
0
A
答えて
1
Windowsでは、プレーンスレッドメッセージ(ウィンドウなし)は信頼できません。トレースがなくても飲み込まれ、スレッドで処理できない状況があります。したがって、ウィンドウターゲットのメッセージは常にそのウィンドウのウィンドウプロシージャによって処理されるため、メッセージターゲットのスレッドごとにトップレベルウィンドウを持つことができます。そのスレッドに対して可視ウィンドウが必要ない場合は、メッセージ専用のウィンドウ(親のあるHWND_MESSAGE
)にすることができます。
スレッドごとにウィンドウを作成したら、EnumWindows
またはEnumChildWindows
でウィンドウを列挙し、必要なものにメッセージを送信することができます。スレッドメッセージウィンドウのリストを保持し、それぞれにメッセージを送信することもできます。プロセス内のすべてのスレッドにメッセージを送信する簡単な方法はありません。
関連する問題
- 1. 送信者を除くすべてのスレッドでPythonの片方向メッセージを送信
- 2. 別のスレッドからオブジェクトのデリゲートにメッセージを送信する
- 3. Javaスレッドでメッセージを取得して送信する
- 4. "PostMessage"を動作中のスレッドからメインのGUIスレッドにメッセージを送信する
- 5. チャット:サーバー上のすべてのクライアントにメッセージを送信
- 6. whatsapi.netでメッセージを送信しますか?
- 7. アンドロイドアプリにメッセージを送信しますか?
- 8. JavaScriptはメッセージをFlashに送信できますか?
- 9. Androidアプリユーザーに定期的なメッセージを送信できますか?
- 10. Akka TestKit TestProbeに送信されたすべてのメッセージのログ
- 11. WebページからOffice Communicatorメッセージを送信できますか?
- 12. 受信メッセージから放送を受信できません
- 13. メッセージを再送信するのに適していますか?
- 14. objective-cでメッセージを送信するときにキャストできますか?
- 15. 同じTwitterメッセージを何回も送信できますか?
- 16. すべてのブラウザにsocket ioを使ってメッセージを送信する
- 17. チケットにはメッセージを送信できるユーザーがいます - レールメッセージ
- 18. クライアントからサーバーにメッセージを送信できません
- 19. apnsにメッセージを送信できませんか?
- 20. 処理されたメッセージを特定のスレッドに送信
- 21. Chrome拡張機能:バックグラウンドスクリプトから*すべてのタブにメッセージを送信
- 22. iOS Simulatorを使用してiMessage経由でメッセージを送信できますか?
- 23. -tabBarController:didSelectViewControllerを使用してビューコントローラにメッセージを送信しますか?
- 24. C2DMへのメッセージの送信が戻ってきます401
- 25. アプリケーションサーバーの外部からJMSキューにメッセージを送信できますか?
- 26. 特定のユーザーのすべてのオープンソケットにメッセージを送信する
- 27. クライアントから送信されたすべてのメッセージを読み取ることができません
- 28. SmsManagerがいくつかのメッセージを送信できません
- 29. Websocketppでメッセージを送信するには
- 30. Spring AMQP:すべての着信メッセージと発信メッセージを傍受します
なぜですか?それらはすべて同じ瞬間に処理を始めることができないので、PostThreadMessageをN回呼び出すことの問題は何ですか? – Tergiver
私は時々可変数のスレッドを持つことになるので、どのスレッドに送るべきか把握するのは面倒です。 – Mark
HWND_BROADCASTに投稿しようとしましたか?私はスレッドがそれを受け取るためにどのような条件が満たされなければならないのか正確にはわかりません。各スレッドにトップレベルのウィンドウが必要な場合がありますが、私は確信していません。 HWND_BROADCASTを使用する場合は、必ずRegisterWindowMessageを使用してください。 – Tergiver