SendMessage
(перенаправлено с «PostMessage»)
Перейти к навигации
Перейти к поиску
Описание
Отсылает приложению WinAPI событие.
Синтаксис
Привязка к окну: Да.
Работа со свернутым окном: Да.
sendmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]]) postmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]])
где:
[hWnd=workwindow] - хэндл окна в которое происходит отсылка.
[Msg] - код события.
[wParam] - параметр события.
[lParam] - параметр события.
Отличие SendMessage в том, что он дожидается ответа на посланное событие, PostMessage не ожидает ответ.
Примеры
//Пример 1 exec notepad //Открываем экземпляр Блокнот'а set #HWND findwindow ('Блокнот') //Находим его окно set #WM_CLOSE hex2dec(0x0010) //см. MSDN //lParam и wParam не используются set $s sendmessage (#HWND #WM_CLOSE 0 0) //приказываем окну закрыться end_script
//Пример 2 exec notepad //Открываем экземпляр Блокнот'а set #HWND findwindow ('Блокнот') //Находим его окно set #WM_SYSCOMMAND hex2dec(0x0112) //см. MSDN //Используем только wParam set #wParam hex2dec(0xF020) //wParam = SC_MINIMIZE set $s sendmessage (#HWND #WM_SYSCOMMAND #wParam 0) //приказываем окну свернуться end_script
Смотрите также
История развития
2.37
Добавил функции отправки сообщений в окна приложений:
set $s sendmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]]) - ждет обработки и возвращает то, что ему ответили; set $p postmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]]) - ничего не ждет, возвращает 0 в случае ошибки.