Подтвердить что ты не робот

В чем разница между отправкой сообщений и почтовым сообщением и как они связаны с программированием на С#, WPF и Pure?

В чем разница между Send Message и Post Message (с точки зрения чистого программирования Windows) и как они относятся к программированию на С#, WPF и Pure?

Я новичок в Threading и всех связанных вещах, поэтому, пожалуйста, извините меня за очевидный quesiton. Мне нужно выкопать внешние потоки Threading. Пожалуйста, дайте мне знать ссылки, которые помогут мне построить мою концепцию из программирования win32 в WPF.

Мне нужно отложить сообщение Post до Afx (вызвать для запуска нового потока), чтобы делегировать Invok/Begin Invoke to Dispatcher.

4b9b3361

Ответ 1

PostMessage (в "чистом программировании окон", aka win32 API) асинхронный, то есть, чтобы процитировать документы:

Помещает (помещает) сообщение в очередь сообщений, связанная с поток, который создал указанный окно и возвращает, не дожидаясь поток для обработки сообщения.

Чтобы отправить сообщение в очередь сообщений связанные с потоком, используйте Функция PostThreadMessage.

SendMessage синхронный, то есть снова цитирует:

Отправляет указанное сообщение в окна или окна. SendMessage функция вызывает процедуру окна для указанного окна и не до тех пор, пока оконная процедура не будет обработал сообщение.

Чтобы отправить сообщение и вернуться немедленно используйте SendMessageCallback или Функция SendNotifyMessage. Чтобы опубликовать сообщение в очередь сообщений потока и немедленно вернитесь, используйте PostMessage или PostThreadMessage функция.

Хороший учебник по этим двум функциям и их использование здесь.

Соединение с WPF обсуждается в этом вопросе SO.