2009-04-23 9 views
0

フックを使用せずに、複数のスレッド間でメッセージキューを共有する方法や、別のスレッドのメッセージキューを読み取る方法はありますか?スレッド間でメッセージキューを共有する(Windowsの場合)

+0

あなたは窓のメッセージを話していますよね? 「メッセージキュー」という用語は、しばしばMSMQに使用されるためです。 – Lucero

+0

はい...それはほとんど常に悪い考えです。あなたは何をしようとしているのですか? – Shog9

+0

@ルセロ:そうです。 –

答えて

0

メッセージキュー内のメッセージは、それらのウィンドウに基づいて区別することができますが、メッセージは意図されたスレッドに基づいて区別することはできません。フィールドはMSGの構造 - 私はあなたが複数のスレッドを介してキューを共有できるとは思わない。

これは、非フック監視ソリューションを残します。

私はかなりあなたが別のスレッドキューを覗くことができると確信していますが、問題は基本的にポーリングしていることです。あなたはメッセージを見逃すでしょう。

読みたいスレッドに影響しますか?もしそうなら、メッセージをあなたに再放送することができます。

これ以外にも、私はこれを行う方法がありません。

+0

理論的にはそうです私はあなたがこれでどこに行くのか見ていますが、私が探している解決策ではありません。 –

1

GetMessageとPeekMessageは現在のスレッドのメッセージのみを読み取るため、他のスレッドが所有する入力キューに送信されたメッセージを読み取るためには使用できません。

AttachThreadInputを使用してスレッド入力キューに参加することをお試しください。

関連する問題