gpt4 book ai didi

c - 确定窗口消息的优先级

转载 作者:太空狗 更新时间:2023-10-29 15:11:05 27 4
gpt4 key购买 nike

有没有办法以编程方式检查消息队列中窗口消息的优先级?

例如:一些窗口消息,WM_PAINTWM_TIMER 已知具有最低的优先级并且被放置在具有最高优先级的消息之后。

我正在寻找一些东西,您可以通过它来确认两条消息中哪一条的优先级最低或最高,或者哪条消息将首先发送或最后发送?

最佳答案

这不是它的工作原理,Windows 消息没有附加优先级。它主要取决于消息的生成方式。消息循环按以下顺序发送消息:

  • 首先,使用 SendMessage() 生成的任何消息都按照调用的顺序发送
  • 接下来,使用 PostMessage() 生成并按队列顺序存储在消息队列中的任何消息
  • 接下来,从窗口状态合成的任何消息。 WM_TIMER、WM_PAINT 和 WM_MOUSEMOVE 属于此类。

“从窗口状态合成”子句使 WM_PAINT 和 WM_TIMER 看起来具有低优先级。以及为什么快速移动鼠标不会使消息队列充满鼠标消息。然而,这不是唯一的,例如,您可以调用 UpdateWindow() 来强制发送 WM_PAINT 消息,使其以“高优先级”进行调度。

关于c - 确定窗口消息的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216161/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com