Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> SendMessage
edik23
сообщение 21.2.2018, 15:25
Сообщение #1


**

Neophyte
Сообщений: 18
Регистрация: 10.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.018
Возраст: 44



По примеру из Вики пытался нажать в том же калькуляторе цифру "5".

set #HWND findwindow ('Калькулятор') //Находим его окно
showwindow #HWND TOP
set #WM hex2dec(0x00090DA8)
//lParam и wParam не используются
set $s sendmessage (#HWND #WM 0 0) //жмем 5
end_script

Но что то пошло не так. #HWND - хэндл окна калькулятора #WM - хендл кнопки 5 . Как отправить комманду КЛИК?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 21.2.2018, 23:44
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Хендл калькулятора тут вообще никому не нужен. Вы работате с окном кнопки - с ним и работайте, хендл его пишете. WM - это имя сообщения которое вы посылаете. Подробнее почтить можно тут:
https://msdn.microsoft.com/en-us/library/wi...0(v=vs.85).aspx
категории сообщений:
https://msdn.microsoft.com/en-us/library/wi...#system_defined


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
olduo.com
сообщение 22.2.2018, 0:24
Сообщение #3


*****

Journeyman
Сообщений: 440
Регистрация: 31.7.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.060



set $s sendmessage (#HWND hex2dec(0x100) hex2dec(0x35) 0) //жмем 5


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
edik23
сообщение 22.2.2018, 0:49
Сообщение #4


**

Neophyte
Сообщений: 18
Регистрация: 10.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.018
Возраст: 44



Цитата(olduo.com @ 22.2.2018, 0:24) *

set $s sendmessage (#HWND hex2dec(0x100) hex2dec(0x35) 0) //жмем 5

не работает

Цитата(DarkMaster @ 21.2.2018, 23:44) *

Хендл калькулятора тут вообще никому не нужен. Вы работате с окном кнопки - с ним и работайте, хендл его пишете. WM - это имя сообщения которое вы посылаете. Подробнее почтить можно тут:
https://msdn.microsoft.com/en-us/library/wi...0(v=vs.85).aspx
категории сообщений:
https://msdn.microsoft.com/en-us/library/wi...#system_defined


Сделал такую конструкцию :

set #WM hex2dec(000435F6) //хэндл кнопки 5
set $s sendmessage (#WM BM_CLICK 0 0) //жмем 5
end_script

Тоже не хочет.
Хэндл кнопки нахожу InqSoft. Через нее же если отправить сообщение, кнопка нажимается. Через Uopliot нет. Что то делаю не так. Сообразить бы?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 22.2.2018, 1:01
Сообщение #5


********

Master
Сообщений: 1.394
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 20893
Пользователь №: 16.156



Edit Box message, Static control message......какой смысл сейчас использовать sendmessage (а по пути еще искать тип контрола, что не под силу 97% юзеров), когда можно слать клики спец. коммандами ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
edik23
сообщение 22.2.2018, 1:20
Сообщение #6


**

Neophyte
Сообщений: 18
Регистрация: 10.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.018
Возраст: 44



Цитата(Cockney @ 22.2.2018, 1:01) *

Edit Box message, Static control message......какой смысл сейчас использовать sendmessage (а по пути еще искать тип контрола, что не под силу 97% юзеров), когда можно слать клики спец. коммандами ?


Видимо староват я стал. Не совсем Вас понял. Ткните меня попроще пжл
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 22.2.2018, 1:55
Сообщение #7


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Какая ОС используется? В win10 калькулятор переделан. Sendmessage, как и left в нём не работают.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.2.2018, 7:57
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
hex2dec

Зачем оно тут вообще? 0x перед числом и все.

А вопрос по сути тот же самый. Зачем вы это городите? Это тестовый полигон? Просто если в этом какой-то практический смысл, то можно добиться результата гораздо проще с помощью эмуляции той же клавиатуры и мыши.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
edik23
сообщение 22.2.2018, 9:41
Сообщение #9


**

Neophyte
Сообщений: 18
Регистрация: 10.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.018
Возраст: 44



Цитата(cirus @ 22.2.2018, 1:55) *

Какая ОС используется? В win10 калькулятор переделан. Sendmessage, как и left в нём не работают.


Win 7 у меня

Цитата(DarkMaster @ 22.2.2018, 7:57) *

Зачем оно тут вообще? 0x перед числом и все.

А вопрос по сути тот же самый. Зачем вы это городите? Это тестовый полигон? Просто если в этом какой-то практический смысл, то можно добиться результата гораздо проще с помощью эмуляции той же клавиатуры и мыши.


Да, тестовый. Хотелось бы понять как работает. Не принципиально именно на калькуляторе. Хочу знать как работает. Как искать хэндл окна и кнопки и тд.

Насчет hex2dec - В примере на вики хендл из 16-тиричной системы в 10-тичную перекодирован. Я и понял что надо использовать 10-тичную
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.2.2018, 10:33
Сообщение #10


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
Как искать хэндл окна и кнопки и тд.

http://forum.uokit.com/index.php?showtopic=26742


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
olduo.com
сообщение 22.2.2018, 12:48
Сообщение #11


*****

Journeyman
Сообщений: 440
Регистрация: 31.7.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.060



Цитата(edik23 @ 22.2.2018, 0:49) *

не работает

сори у меня нет уопилота, я им пользовался кучу лет назад)) если пишу бота то используют память офсеты итд и не уопилот естественно. качнул пилот, ну вот 5 нажать проще так наверное
Код
sendex {5}

но естественно она шлет в развернутое окно, поэтому вначале showwindow #HWND TOP


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 19:31
Designed by Nickostyle