【发布时间】:2012-04-27 09:55:40
【问题描述】:
我了解,当发送消息时,它具有 hwnd 值,以便系统知道哪个窗口负责处理该消息。当 hwnd 为 NULL 时,这意味着这是一个线程消息。那么被调用来处理该消息的过程函数是什么?
【问题讨论】:
标签: winapi
我了解,当发送消息时,它具有 hwnd 值,以便系统知道哪个窗口负责处理该消息。当 hwnd 为 NULL 时,这意味着这是一个线程消息。那么被调用来处理该消息的过程函数是什么?
【问题讨论】:
标签: winapi
请注意,仅在PostMessage(不是SendMessage)下记录了使用HWND 作为NULL 发送将导致函数“表现得像PostThreadMessage,以dwThreadId 作为当前线程”强>.
请参阅here,了解线程如何实现消息队列。
回答你原来的问题:
那么调用来处理该消息的过程函数是什么?
PostThreadMessage 发布到线程的消息队列。
PostThreadMessage 的注意事项:“如果指定的线程没有消息队列,则函数失败。当线程第一次调用 User 或 GDI 函数之一时,系统会创建线程的消息队列。”
【讨论】: