线程和窗口在WIN32中 , 消息队列是与线程(Thread)相关的 , 一个线程只能有一个消息队列(queue)与之相对应 。当一个线程里面首次调用User32.dll或GDI32.dll中的函数时 , 系统会为该线程创建一个消息队列 , 否则就没有消息队列 。
在一个线程中可以产生多个窗口 , 所以每个窗口课共用一个线程消息队列 , 所有产生给某个窗口的消息 , 都先由创建这个窗口的线程处理 , 窗口在任何线程中都可以创建 , 但消息循环必须要和创建窗口在同一线程 , 否则窗口将无法从DispatchMessage()获取任何消息 , 为了使窗口接受这些消息 , 线程必须有自己的循环 。
文章插图
消息分类
- 标准消息:所有以WM_开头的消息 , 除了WM_COMMAND
- 命令消息:来自菜单栏、工具栏、按钮或者快捷键的消息 。WM_COMMAND
- 通告消息:由控件产生的消息 , 例如按钮单击、列表项的选择等 , 为了向其父窗口通知事件的发生 。
文章插图
PostThreadMessage
文章插图
推荐阅读
- 无需打开应用,如何用 api 实现在 Notion 的表格中写入数据
- 如何查看你的QQ注册时间和全球排名?附详细操作教程
- 如何成为优秀的工业设计师?
- C++新特性 nullptr 和 constexpr
- 机器学习如何检测使用沙盒逃避和静态防护的恶意软件
- 39万家定点药店迎门诊统筹利好:药价、报销方式将如何变化
- 买房风水三不买 买房如何看风水
- 如何泡黑豆醋 醋泡生黑豆
- 新鲜白果如何去壳.白果怎么去壳去皮
- 成灌高铁公交化后票价如何 成灌快铁时刻表