Top.Mail.Ru
Ответы

Чем SendMessage() отличается от PostMessage()? C++, WinAPI

Дополнен

SendMessage() вызывает оконную процедуру на прямую минуя очередь.
PostMessage() ставит сообщение в очередь.

По дате
По рейтингу
Аватар пользователя
Гуру
12лет

SendMessage напрямую вызывает оконную процедуру только если отправляющий тред совпадает с тредом, который владеет окном, в которое отправляется сообщение. Если это разные треды, то обработка конечно будет без очереди, но принимающий тред все равно должен вызвать GetMessage/PeekMessage чтобы получить сообщение. Если он этого не сделает, то SendMessage так и повиснет в ожидании

Аватар пользователя
Знаток
12лет

ага, разница в приоритете

Аватар пользователя
Ученик
12лет

вроде postmessage не ждет возвращения результата обработки сообщения потоком