- SendMessage
-
Функция SendMessage. Посылает некоторое сообщение окну или нескольким окнам. Возврат из функции осуществляется только после обработки сообщения. Также, чтобы послать сообщение окну с немедленным возвращением из неё, можно использовать функции SendMessageCallback или SendNotifyMessage. Для добавления сообщения в очередь и немедленного возвращения используйте PostMessage или PostThreadMessage.
Содержание
Прототип
LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
Параметры
hWnd[вх]
Дескриптор окна, которому посылается сообщение. Если этот параметр равен HWND_BROADCAST, то сообщение посылается всем всплывающим окнам в системе, включая невидимые и окна без фокуса ввода и т. д., но кроме дочерних окон.
Msg[вх]
Тип сообщения
wParam[вх]
дополнительная информация о сообщении
lParam[вх]
дополнительная информация о сообщенииВозвращаемое значение
Возвращаемое значение зависит от результата обработки сообщения
Примечания
Приложения, которые используют HWND_BROADCAST должны вызывать RegisterWindowMessage для использования данного сообщения между различными приложениями
Примеры
Функция SendMessage является наиболее общим и самым распространённым способом взаимосвязи между приложениями и операционной системой Windows, связи приложений друг с другом, настройкой контролов (стандартных частей интерфейса приложения) и т. д.
Например сообщение WM_SETTEXT заменяет текст какого-либо окна(или контрола) на новый:SendMessage(hwnd,WM_SETTEXT,0,(long int)"Новый текст\0");
Под текстом может пониматься заголовок окна, если hwnd — дескриптор окна; текст поля ввода, если hwnd им является и т. д.
Так можно установить фокус ввода окна:SendMessage(hWnd,WM_SETFOCUS,0,0);
Кроме того фокус ввода можно установить и функцией SetFocus:
SetFocus(hWnd);
Таких функций достаточно много, которые можно использовать вместо им соответствующих сообщений: ShowWindow, EnableWindow и т. д.
Информация о функции
Прототип Объявление в Winuser.h, включая Windows.h Импорт библиотеки User32.lib Требования системы Windows 95, Windows NT 3.1 Источники
См. также
- Win32
Wikimedia Foundation. 2010.