事件队列是一个获取消息并处理它们的框。
请问,PostMessage和SendMessage存储的消息在哪里?以及如何告诉谁发送什么消息? 可以检查哪些变量来获取信息?
答案 0 :(得分:2)
邮件存储在哪里?
它们存储在与线程关联的内部数据结构中。请注意,每个线程都有零个或一个消息队列。不会为线程自动创建消息队列,而是在线程调用需要消息队列的函数时按需创建消息队列。
另请注意,SendMessage
发送的已发送邮件不会显示在队列中。已发送的邮件是同步的,因此不会排队。
如何判断谁发送了什么消息?
一般来说,这是不可能的:Can I determine which process sent my window a message?
可以检查哪些变量来获取信息?
你做不到。您可以使用PeekMessage
来查明队列是否包含特定消息,或查找给定范围内的第一条消息。但是没有转储整个消息队列的功能。