Author Topic: браузерка с картинками. привязка к окну. видит, но не кликает.  (Read 2716 times)

0 Members and 4 Guests are viewing this topic.

Sava

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Всем привет.  Скрипт для браузерки с кликами по картинкам написан и хорошо работает, но в оконном режиме с привязкой к окну видит картинки, но не кликает по ним (ни lclick, ни ldown).
Искал ответ на форуме, но как понял решение найти проблематично. Для работы в оконном режиме с привязкой использовал internet explorer (может быть подскажете более шустрый браузер?). Так вот, может быть кто-то решил проблему с кликами и может мне подсказать?

Sava

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Какие-нибудь примеры решений можете перечислить? Картинки подсвечиваются как при наведении мышки.

Sava

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Спасибо, попробую!

Sava

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Эм, советы пропали )) в общем не помогло, если указатель мыши не наведен на окно браузера - не работает...

Doda

  • Guest
 (ни lclick, ни ldown) не работают в режиме привязки. там другие команды!. ищите на форуме, в справке)

Doda

  • Guest
Quote
SENDMESSAGE, POSTMESSAGE

Синтаксис

SENDMESSAGE / POSTMESSAGE (hwnd, message, wParam, lParam) - посылает окну системное сообщение


Параметры
hwnd - HWND окна
message - сообщение окну (*)
wParam, lParam - дополнительные параметры

Примечания
Процедуры являются фактически обертками для одноименных WinAPI функций. Подробности вы можете найти в MSDN или на многочисленных форумах.
(*) Поскольку у нас нет всех констант "WM_", то параметр message необходимо задавать десятичным числом.
Если вы ничего не поняли - вам это не надо :D

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Нет, вы путаете красное с горячим. Зарезервированные для кликера переменные неимеют ни малейшего отношения к WinAPI функциям. примеров использования на форуме достаточно, при желании смотрите справочники по использованию WinAPI функций, вставляете в сообщение окну их коды и получаете результат.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Ага, раскатал губу. :D

Клик выглядит вот так
Code: (clickermann) [Select]
// послать клик

$WM_LBUTTONDOWN = 0x0201 // Левая кнопка мыши нажата.
$WM_LBUTTONUP = 0x0202 // Левая кнопка мыши отпущена.
$MK_LBUTTON = 0x0001 // Левая кнопка мыши находится в нажатом состоянии.

$HWND = 67440 // изменяется при каждом запуске целевой программы,

$x = 200 // Координата по X
$y = 200 // Координата по Y

//Отправляем сообщение окну о нажатой левой кнопке мыши
postmessage($HWND, $WM_LBUTTONDOWN, $MK_LBUTTON, $x + ($y*65536))

waitms(50)

//Отправляем сообщение окну, что левую кнопку мыши отпустили
postmessage($HWND, $WM_LBUTTONUP, $MK_LBUTTON, $x + ($y*65536))

HALT // стоп

Ну, или покомпактнее без переменных.
Code: (clickermann) [Select]
// послать клик
postmessage($_hwnd, 0x0201, 0x0001, 200 + (200*65536))
waitms(50)
postmessage($_hwnd, 0x0202, 0x0001, 200 + (200*65536))

HALT // стоп

Sava

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
postmessage($_hwnd, 0x0202, 0x0001, 200 + (200*65536))

Зачем в wParam указывать что лкм все еще нажата если команда идет на поднятие мыши? получается что в очереди сначала поднять кнопку, а потом оставить ее нажатой? в результате картинки по полю таскает ))
« Last Edit: January 28, 2016, 02:10:21 PM by Sava »