Можно ли отправить сообщение во все темы? - PullRequest
0 голосов
/ 22 января 2011

Я использую очереди сообщений (предоставляемые окнами), чтобы помочь нескольким потокам в моей программе общаться.Тем не менее, мне нужно отправить сообщение всем потокам в моей программе сразу.Есть ли какая-либо функция для этого?

1 Ответ

1 голос
/ 22 января 2011

Сообщения простого потока (без окна) ненадежны в Windows - существуют обстоятельства, при которых они проглатываются без следа, и ваш поток не может их обработать. Поэтому я хотел бы иметь окно верхнего уровня для каждого потока для цели сообщения, поскольку сообщения, предназначенные для окна, всегда обрабатываются оконной процедурой для этого окна. Вы можете сделать его окном только для сообщений (с родительским элементом HWND_MESSAGE), если вам не нужно видимое окно для этого потока.

Если у вас есть окно для каждой цепочки, вы можете просто перечислить окна с EnumWindows или EnumChildWindows и отправлять сообщения тем, которые вам нужны. Или вы можете сохранить список окон сообщений потока и отправить сообщение каждому. Нет простого способа отправить сообщение всем потокам процесса.

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