поискав в Интернете разницу между этими двумя вызовами функций, я обнаружил, что:
Разница между этими двумя вызовами API заключается в том, как они возвращают управление вызывающему приложению. С помощью SendMessage управление не возвращается вызывающему приложению до тех пор, пока окно, в которое было отправлено сообщение, не завершит обработку отправленного сообщения, однако с помощью PostMessage управление возвращается вызывающему приложению. немедленно, независимо от погоды или нет, отправленное сообщение было обработано.
postMessage: отправляет сообщение в очередь сообщений, связанную с потоком, и возвращает, не дожидаясь, пока поток обработает это сообщение.
SendMessage: вызывает оконную процедуру для указанного окна и не возвращается, пока оконная процедура не обработает сообщение.
PostMessage - это асинхронная функция, а SendMessage - синхронная функция.
Теперь вопрос для моего приложения (которое требует высокой производительности), какую функцию лучше использовать?
Обратите внимание, что я использую MFC в Visual Studio 2010 и для этого кода:
CWnd *pParentOfClass = CWnd::GetParent();
pParentOfClass ->
У меня есть только эти функции для отправки сообщений:
PostMessageW
Отправить сообщение
SendMessageW
Дополнительные вопросы:
Можете ли вы рассказать мне разницу между SendMessage и SendMessageW?