c++ - 更改窗口的消息循环线程

标签 c++ multithreading winapi message-loop

最近我尝试将一个窗口的消息循环放在它自己的线程中,我想知道为什么它从未收到任何消息,但我了解到 Windows 将消息发布到创建该窗口的线程。如何在一个线程中创建一个窗口并使另一个线程接收该窗口的消息?我已经看到了 PostThreadMessage 函数,但我相信它还需要创建窗口的线程来监听消息,这正是我试图避免的事情,因此该函数不是我所需要的。

这似乎是一个常见问题,我花了相当多的时间在谷歌上搜索答案,但我找不到答案。

最佳答案

How do you create a window in one thread and cause another thread to receive that window's messages?

简单的回答……你不知道。在要处理其消息的线程上创建窗口。如果这不可能,那么您需要重新考虑您的方法。

关于c++ - 更改窗口的消息循环线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4347404/

相关文章:

具有多个对象/锁的 Java 同步

java - 如何在一个类中顺序执行两个线程

c++ - 在 Windows 下获取指向调用堆栈底部的指针并通过地址(如 dladdr)解析符号?

winapi - 应用 list 模式

java - 如何让 System.in 从 JTextField 中读取

c++ - SetPixelFormat() 中的第三个参数对于 OpenGL 上下文创建有什么意义?

c++ - 我可以以这种方式返回迭代器吗?

c++ - 我如何知道我的阵列存储在哪个缓存级别?

c++ - 如何使用类模板特化避免代码重复

c++ - std::deque、引用和 'pop'