SendMessage
Версия от 21:30, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == Отсылает приложению WinAPI событие. == Синтаксис == Привязка к окну: Да. <br>Рабо...»)
Описание
Отсылает приложению WinAPI событие.
Синтаксис
Привязка к окну: Да. <br>Работа со свернутым окном: Да.
sendmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]]) postmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]])
где: <br>[hWnd=workwindow] - хэндл окна в которое происходит отсылка. <br>[Msg] - код события. <br>[wParam] - параметр события. <br>[lParam] - параметр события. <br> Отличие 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
Смотрите также
hex2dec <br>Findwindow
История развития
2.37 <br>Добавил функции отправки сообщений в окна приложений:
set $s sendmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]]) - ждет обработки и возвращает то, что ему ответили; set $p postmessage ([hWnd=workwindow [Msg=0 [wParam=0 [lParam=0]]]]) - ничего не ждет, возвращает 0 в случае ошибки.