Функция SendNotifyMessage


Функция SendNotifyMessage отправляет заданное сообщение окну или окнам. Если окно было создано вызывающим потоком, SendNotifyMessage вызывает оконную процедуру для окна и не возвращает значение до тех пор, пока оконная процедура не обработает сообщение. Если окно было создано другим потоком, SendNotifyMessage переправляет сообщение оконной процедуре и немедленно возвращает значение; она не ждет, когда оконная процедура закончит обрабатывать сообщение.

Синтаксис

BOOL SendNotifyMessage(

    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam
);

Параметры

hWnd

[in] Дескриптор окна, оконная процедура которого примет сообщение. Если этот параметр - HWND_BROADCAST, сообщение отправляется всем окнам верхнего уровня в системе, включая заблокированные или невидимые, не имеющие владельца, окна, перекрывающие и выскакивающие окна; но сообщение не отправляется дочерним окнам.

Msg

[in] Определяет сообщение, которое будет отправлено.

wParam

[in] Устанавливает дополнительную конкретизирующую сообщение информацию.

lParam

[in] Устанавливает дополнительную конкретизирующую сообщение информацию.

Возвращаемые значения

Если функция завершается успешно, величина возвращаемого значения - не нуль.

Если функция не выполняет задачу, величина возвращаемого значения нулевая. Чтобы получить дополнительные данные об ошибке, вызовите GetLastError.

Замечания

Если Вы отправляете сообщение в диапазоне значений ниже WM_USER функциям асинхронных  сообщений PostMessage, SendNotifyMessage и SendMessageCallback, то параметры этого сообщения не могут включать в себя указатели. Иначе операция завершиться ошибкой. Функции возвратят значения прежде, чем принимающий поток получит шанс обработать сообщение, а отправитель освободит память прежде, чем она будет использована.

 Прикладные программы, которым необходимо общаться друг с другом при помощи HWND_BROADCAST, должны использовать функцию RegisterWindowMessage, чтобы получить уникальное сообщение для связи между приложениями.

Система  совершает сортировку только системных сообщений (которые в диапазоне от 0 до WM_USER). Чтобы отправлять другие сообщения (которые значением выше WM_USER) другому процессу, Вы должны сделать специальную сортировку (маршалинг).

Windows 95/98/Me: SendNotifyMessageW  поддерживается  подпрограммой Microsoft Layer for Unicode (MSLU). Чтобы использовать подпрограмму, Вы должны добавить некоторые файлы к вашему приложению, как это определено в Microsoft Layer for Unicode для систем Windows 95/98/Me.

Смотри также

Обзор Сообщения и очереди сообщенийPostMessage,  PostThreadMessage, RegisterWindowMessageSendMessageSendMessageCallback

 

Размещение и совместимость SendNotifyMessage

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz