我知道发送消息时,它具有 hwnd 值,以便系统知道哪个窗口负责处理该消息。当 hwnd 为 NULL 时,这意味着这是一个线程消息。那么被调用来处理该消息的过程函数是什么?
问问题
1904 次
1 回答
3
请注意,仅在PostMessage(而不是SendMessage)下记录了使用HWND
as发送NULL
将导致函数“表现得像 PostThreadMessage 一样,以 dwThreadId 作为当前线程”。
请参阅此处了解线程如何实现消息队列。
在回答你原来的问题:
那么被调用来处理该消息的过程函数是什么?
PostThreadMessage发布到线程的消息队列。
PostThreadMessage 的注释:“如果指定的线程没有消息队列,该函数将失败。当线程第一次调用用户或 GDI 函数之一时,系统会创建一个线程的消息队列。”
于 2012-04-27T10:03:39.303 回答