функція sendmessage
Функція SendMessage відправляє заздалегідь підготоване сигнальне повідомлення вікна або вікон. Функція викликає віконну процедуру для заданого вікна і не повертає значення до тих пір, поки віконна процедура не обробить повідомлення.
Щоб відправити повідомлення і повернути негайно значення, використовуйте функцію SendMessageCallback або SendNotifyMessage. Щоб помістити повідомлення в чергу повідомлень потоку і повернути негайно значення, використовуйте функцію PostMessage або PostThreadMessage.
[In] Дескриптор вікна, віконна процедура якого прийме повідомлення. Якщо цей параметр - HWND_BROADCAST. повідомлення відправляється всім вікнам верхнього рівня в системі, включаючи заблоковані або невидимі, не мають власника, що перекривають і вискакують вікна; але повідомлення не надсилається дочірнім вікнам.
[In] Визначає повідомлення, яке буде надіслано.
[In] Визначає додаткову конкретизуючу повідомлення інформацію.
[In] Визначає додаткову конкретизуючу повідомлення інформацію.
Величина повертається визначає результат обробки повідомлення; він залежить від надісланого повідомлення.
Прикладні програми, які зв'язуються, застосовуючи прапорець HWND_BROADCAST. повинні використовувати функцію RegisterWindowMessage. щоб отримати унікальне повідомлення для зв'язку між додатками.
Система здійснює сортування тільки системних повідомлень (які в діапазоні від 0 до WM_USER). Щоб відправляти інші повідомлення (які значенням вище WM_USER) іншому процесу, Ви повинні зробити спеціальну сортування (маршалинга).
Якщо заданий вікно було створено викликає потоком, віконна процедура викликається негайно як підпрограма. Якщо заданий вікно було створено іншим потоком, система переключається на цей потік і викликає відповідну віконну процедуру. Повідомлення, відправлені між потоками обробляються, тільки тоді, коли приймає потік виконує вилучення коду повідомлення. Відправляє потік блокується до тих пір, поки приймає потік не обробить повідомлення. Однак, відправляється потік буде обробляти асинхронні (позачергові) повідомлення поки чекає обробку свого повідомлення. Щоб перешкодити цьому, використовуйте функцію SendMessageTimeout з встановленим прапорцем SMTO_BLOCK. Для отримання додаткової інформації про позачергові повідомленнях, див. Чи не поставлені в чергу (асинхронні) повідомлення.
Windows 95/98 / Me: SendMessageW підтримується підпрограмою Microsoft Layer for Unicode (MSLU). Щоб використовувати підпрограму, Ви повинні додати деякі файли до вашого додатком, як це визначено в Microsoft Layer for Unicode для систем Windows 95/98 / Me.