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