Показать сообщение отдельно
  #11 (permalink)  
Старый 06.11.2014, 09:50
Новичок на форуме
Отправить личное сообщение для Vlesk Посмотреть профиль Найти все сообщения от Vlesk
 
Регистрация: 05.11.2014
Сообщений: 4

Сообщение от Poznakomlus Посмотреть сообщение
Aetae,
это как по точкам окна кликать? Элементы html (их классы) исполняются в браузере и им сообщение не отправишь в окнах. Ты не получишь идентификатор HWND которому тебе нужно послать сообщение. А так можно и молотком по экрану.
Тыкнуть по заданным координатам можно элементарно в делфях/c++. К примеру, см. в гугле про SetCursorPos() и Mouse_Event(). Если не знакомы, то кругозору ради рекомендую. Хотя бы будете представлять возможность, а может и в работе пригодится.
Вопрос скорее в том, как найти нужные координаты.

Я лично делал в делфях такой алгоритм нажатия кнопки:
1. Определить координаты нужной кнопки
1.1 снимаем скриншот окна программы, в которой открыт нужный сайт
1.2 находим координаты изображения нужной кнопки (тупой поиск одного BitMap в другом)
1.3 рассчитываем абсолютные координаты центра искомой кнопки

2. Тыкнуть мышкой
2.1 спозиционировать курсор по координатам из 1.3
2.2 послать клик мыши

Лично у меня на реализацию такого метода ушёл один час.

На несколько часов больше у меня ушло на другое решение (но это больше академический интерес, в реальных проектах используется обычно метод, описанный выше):
1. Определить координаты нужной кнопки
1.1 в TСhromium (для тех, кто не в курсе - это компонент хромиума для delphi) на js определяем координаты нужного контрола внутри окна браузера (хромиум в нашей программе на делфях)
1.2 по get-запросу шлём php-скрипту (сервер поднят локально) координаты контрола, php-скрипт их сохраняет в файл (не придумал я как лучше из js передать значения во внешний мир)
1.3 считать в нашей программе координаты элемента из 1.2, рассчитать абсолютные координаты центра искомой кнопки
...

Вот я в двух словах описал целых два рабочих метода нахождения координат нужного элемента на веб-странице.
Так что кто несёт херню ещё вопрос
Не всегда нужны HWND нужных контролов, шире мыслить надо

Да, не изящно, но цель оправдывала средства.

Т.к. оба этих варианта делаются элементарно и любой школьник с мозгами, отличными от макаки, сможет до этого додуматься, и самое главное, сделать на коленке, то вот я и задумался об обратной ситуации - защите от таких решений.

Последний раз редактировалось Vlesk, 06.11.2014 в 10:10.
Ответить с цитированием