【问题标题】:Win32: Messages sent to thread?Win32:消息发送到线程?
【发布时间】:2012-04-27 09:55:40
【问题描述】:

我了解,当发送消息时,它具有 hwnd 值,以便系统知道哪个窗口负责处理该消息。当 hwnd 为 NULL 时,这意味着这是一个线程消息。那么被调用来处理该消息的过程函数是什么?

【问题讨论】:

    标签: winapi


    【解决方案1】:

    请注意,仅在PostMessage(不是SendMessage)下记录了使用HWND 作为NULL 发送将导致函数“表现得像PostThreadMessage,以dwThreadId 作为当前线程”强>.

    请参阅here,了解线程如何实现消息队列。

    回答你原来的问题:

    那么调用来处理该消息的过程函数是什么?

    PostThreadMessage 发布到线程的消息队列。

    PostThreadMessage 的注意事项:“如果指定的线程没有消息队列,则函数失败。当线程第一次调用 User 或 GDI 函数之一时,系统会创建线程的消息队列。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多