私はプログラムキュー内の複数のスレッドが通信するのを助けるためにメッセージキュー(ウィンドウで提供)を使用しています。しかし、プログラム内のすべてのスレッドに一度にメッセージを送信する必要があります。これを行う関数はありますか?すべてのスレッドにメッセージを送信できますか?
0
A
答えて
1
Windowsでは、プレーンスレッドメッセージ(ウィンドウなし)は信頼できません。トレースがなくても飲み込まれ、スレッドで処理できない状況があります。したがって、ウィンドウターゲットのメッセージは常にそのウィンドウのウィンドウプロシージャによって処理されるため、メッセージターゲットのスレッドごとにトップレベルウィンドウを持つことができます。そのスレッドに対して可視ウィンドウが必要ない場合は、メッセージ専用のウィンドウ(親のあるHWND_MESSAGE
)にすることができます。
スレッドごとにウィンドウを作成したら、EnumWindows
またはEnumChildWindows
でウィンドウを列挙し、必要なものにメッセージを送信することができます。スレッドメッセージウィンドウのリストを保持し、それぞれにメッセージを送信することもできます。プロセス内のすべてのスレッドにメッセージを送信する簡単な方法はありません。
関連する問題
- 1. UIスレッドにメッセージを送信
- 2. 送信者を除くすべてのスレッドでPythonの片方向メッセージを送信
- 3. 別のスレッドからオブジェクトのデリゲートにメッセージを送信する
- 4. "PostMessage"を動作中のスレッドからメインのGUIスレッドにメッセージを送信する
- 5. は、すべてのクライアントにメッセージを送信しました。
- 6. Javaスレッドでメッセージを取得して送信する
- 7. Openfireのすべてのユーザーにメッセージを送信するには?
- 8. チャットプログラムでメッセージを送信したクライアントにメッセージが送信されています
- 9. Javaの多くのスレッドからメッセージを送信する
- 10. IBM MQはすべてのJMSメッセージを送受信できません
- 11. QuickBloxのオフライン・ユーザーにシステム・メッセージを送信できますか?
- 12. 私はHttpResponseBadRequestのdjangoテンプレートにメッセージを送信できますか?
- 13. BluetoothデバイスからWiFiにメッセージを送信できますか?
- 14. すべてのquickbloxオンライン・ユーザーにメッセージを送信する方法
- 15. マルチクライアントチャットプログラム:すべてのクライアントにメッセージを送信する
- 16. 特定のPCアプリケーションのすべてのアンドロイドクライアントにメッセージを送信
- 17. チャット:サーバー上のすべてのクライアントにメッセージを送信
- 18. netlogo:1人以外のすべてのエージェントにメッセージを送信
- 19. whatsapi.netでメッセージを送信しますか?
- 20. アンドロイドアプリにメッセージを送信しますか?
- 21. JavaScriptはメッセージをFlashに送信できますか?
- 22. Androidアプリユーザーに定期的なメッセージを送信できますか?
- 23. Java - すべてのクライアントにメッセージを送信
- 24. Firebase Cloud Messaging - すべてのユーザにメッセージを送信
- 25. 接続されたすべてのWebソケットクライアントにメッセージを送信
- 26. pidによって別のpythonプロセスにメッセージを送信できますか?
- 27. Python TCP Serverがすべてのクライアントにメッセージを送信しています
- 28. Akka TestKit TestProbeに送信されたすべてのメッセージのログ
- 29. WebページからOffice Communicatorメッセージを送信できますか?
- 30. Nodejsはオーナーのメッセージ送信者にメッセージを送信することができます
なぜですか?それらはすべて同じ瞬間に処理を始めることができないので、PostThreadMessageをN回呼び出すことの問題は何ですか? – Tergiver
私は時々可変数のスレッドを持つことになるので、どのスレッドに送るべきか把握するのは面倒です。 – Mark
HWND_BROADCASTに投稿しようとしましたか?私はスレッドがそれを受け取るためにどのような条件が満たされなければならないのか正確にはわかりません。各スレッドにトップレベルのウィンドウが必要な場合がありますが、私は確信していません。 HWND_BROADCASTを使用する場合は、必ずRegisterWindowMessageを使用してください。 – Tergiver