SendMessage: различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: « == Описание == Отсылает приложению WinAPI событие. == Синтаксис == Привязка к окну: Да. <br>Рабо...»)
 
 
Строка 5: Строка 5:
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: Да.
 
Привязка к окну: Да.
&lt;br>Работа со свернутым окном: Да.
+
<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]]]])
 
где:
 
где:
&lt;br>'''[hWnd=workwindow]''' - хэндл окна в которое происходит отсылка.
+
<br>'''[hWnd=workwindow]''' - хэндл окна в которое происходит отсылка.
&lt;br>'''[Msg]''' - код события.
+
<br>'''[Msg]''' - код события.
&lt;br>'''[wParam]''' - параметр события.
+
<br>'''[wParam]''' - параметр события.
&lt;br>'''[lParam]''' - параметр события.
+
<br>'''[lParam]''' - параметр события.
&lt;br> Отличие SendMessage в том, что он дожидается ответа на посланное событие, PostMessage не ожидает ответ.
+
<br> Отличие SendMessage в том, что он дожидается ответа на посланное событие, PostMessage не ожидает ответ.
  
 
== Примеры ==
 
== Примеры ==
Строка 36: Строка 36:
  
 
[[hex2dec]]
 
[[hex2dec]]
&lt;br>[[Findwindow]]
+
<br>[[Findwindow]]
  
 
== История развития ==
 
== История развития ==
  
 
'''2.37'''
 
'''2.37'''
&lt;br>Добавил функции отправки сообщений в окна приложений:
+
<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

Смотрите также

hex2dec
Findwindow

История развития

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 в случае ошибки.