Совместное использование очередей сообщений между потоками (в Windows) - PullRequest
0 голосов
/ 23 апреля 2009

Есть ли способ разделить очередь сообщений между несколькими потоками или иным образом прочитать очередь сообщений другого потока, не используя перехватчики?

Ответы [ 2 ]

1 голос
/ 23 апреля 2009

GetMessage и PeekMessage читают только сообщения для текущего потока, их нельзя использовать для чтения сообщений, отправленных во входную очередь, принадлежащую другому потоку.

Попробуйте присоединиться к очередям ввода потока, используя AttachThreadInput , это может работать.

0 голосов
/ 23 апреля 2009

Сообщения в очереди сообщений можно дифференцировать на основе окна, для которого они предназначены, но я не думаю, что сообщения можно дифференцировать на основе целочисленного потока - поля просто отсутствуют в MSG структура - так что я не думаю, что вы можете разделить очередь на несколько потоков.

Таким образом, у вас остается решение для мониторинга без подключения.

Я почти уверен, что вы можете посмотреть очередную цепочку потоков, но проблема в том, что вы в основном опрашиваете; так что вы будете пропускать сообщения.

Есть ли у вас влияние на темы, которые вы хотите прочитать? если это так, вы можете заставить их ретранслировать свои сообщения вам.

Кроме того, я не вижу способа сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...