Multithreading 在线程之间共享消息队列(在Windows中)

Multithreading 在线程之间共享消息队列(在Windows中),multithreading,winapi,Multithreading,Winapi,有没有办法在多个线程之间共享消息队列,或者在不使用钩子的情况下读取不同线程的消息队列?消息队列中的消息可以根据它们所针对的窗口进行区分,但是我不认为消息可以根据一个inteded线程来区分-消息结构中没有字段-因此我不认为您可以通过多个线程共享一个队列 这就为您提供了一个非钩子监控解决方案 我很确定你可以看到另一个线程队列,但问题是你基本上是在轮询;所以你会错过留言 你对你想读的文章有什么影响吗?如果是这样,你可以让他们重播他们的信息给你 除此之外,我找不到这样做的方法。GetMessage和P

有没有办法在多个线程之间共享消息队列,或者在不使用钩子的情况下读取不同线程的消息队列?

消息队列中的消息可以根据它们所针对的窗口进行区分,但是我不认为消息可以根据一个inteded线程来区分-消息结构中没有字段-因此我不认为您可以通过多个线程共享一个队列

这就为您提供了一个非钩子监控解决方案

我很确定你可以看到另一个线程队列,但问题是你基本上是在轮询;所以你会错过留言

你对你想读的文章有什么影响吗?如果是这样,你可以让他们重播他们的信息给你


除此之外,我找不到这样做的方法。

GetMessage和PeekMessage只读取当前线程的消息,不能使用它们读取发送到另一个线程拥有的输入队列的消息


尝试使用加入线程输入队列,这可能会起作用

你说的是窗口消息,对吗?因为术语“消息队列”通常用于MSMQ。是的。。。但这几乎总是个坏主意。你为什么不描述一下你想做什么?可能是相关的:理论上是的,我知道你要做什么,但这不是我想要的解决方案。