有没有办法在多个线程之间共享一个消息队列,或者在不使用钩子的情况下读取另一个线程的消息队列?
答案 0 :(得分:1)
GetMessage和PeekMessage只读取当前线程的消息,不能用它们来读取发送到另一个线程所拥有的输入队列的消息。
尝试使用AttachThreadInput加入线程输入队列,这可能有效。
答案 1 :(得分:0)
消息队列中的消息可以根据它们所用的窗口进行区分,但我不认为可以根据有线程来区分消息 - 这些字段在MSG中不存在结构 - 所以我认为你不能在多个线程上共享队列。
这将为您提供非挂钩监控解决方案。
我很确定你可以偷看另一个线程队列,但问题是你基本上是在轮询;所以你会错过消息。
您对要阅读的主题有什么影响吗?如果是这样,你可以让他们重新传播他们的信息给你。
除此之外,我看不到办法做到这一点。