Это не совсем так, сообщения Windows не имеют приоритета.Это в основном определяется тем, как генерируется сообщение.Цикл сообщений отправляет сообщения в следующем порядке:
- сначала все сообщения, созданные с помощью SendMessage (), отправляются в том порядке, в котором были сделаны вызовы
- , затем все сообщения, созданные с помощью PostMessage() и сохраняются в очереди сообщений, в порядке очереди
- , далее любые сообщения, которые синтезируются из состояния окна.WM_TIMER, WM_PAINT и WM_MOUSEMOVE соответствуют этой категории.
Предложение «синтезировано из состояния окна» - это то, что заставляет WM_PAINT и WM_TIMER иметь низкий приоритет.И почему быстрое перемещение мыши не приводит к переполнению очереди сообщений мышью.Это, однако, не является исключительным, вы можете, например, вызвать UpdateWindow () для принудительной отправки сообщения WM_PAINT, что делает его отправленным с «высоким приоритетом».