Розміщення повідомлення

За надсилання повідомлення до черга повідомлень за допомогою функції PostMessage . PostMessage місця повідомлення в кінці черга повідомлень в темі і повертається відразу, не чекаючи потік обробити повідомлення. Параметри цієї функції включають дескриптор вікна, ідентифікатор повідомлення і два параметри повідомлення. Система копіює ці параметри на структуру MSG , наповнює час і pt членів структури та розміщує структура черга повідомлень.

Система використовує дескриптор вікна, що пройшов з PostMessage функцією для визначення, які черга повідомлень потік повинні отримувати повідомлення. Якщо маркер HWND_TOPMOST, система повідомлення повідомлення, черги повідомлень потік всіх вікон верхнього рівня.

Функція PostThreadMessage використовується для надсилання повідомлення до конкретних потоку чергу повідомлення. PostThreadMessage схожий на PostMessage, за винятком першого параметра є ідентифікатор потоку, а не дескриптор вікна. Ви можете отримати ідентифікатор потоку, зателефонувавши на GetCurrentThreadId функції.

Щоб перервати цикл повідомлення використовується функція PostQuitMessage . PostQuitMessage посади WM_QUIT повідомлення, в даний час виконавчого потоку. В темі повідомлення циклу припиняється і повертає керування системою, коли вона виявляє WM_QUIT повідомлення. Застосування зазвичай викликає PostQuitMessage у відповідь на WM_DESTROY повідомлення, як показано в нижченаведеному прикладі.

справа WM_DESTROY: / / виконати очищення. 
 
    PostQuitMessage(0); 
    Перерва