Добрый день.
Пытаюсь использовать для распознавания капчи такой скрипт, найденный на форуме:
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Капча.bmp", -1, 100) // поиск окошка капчи
LOGWRITE ("Есть капча")
$cap4a = 1
WHILE($cap4a = 1) // цикл распознавания капчи
// Область снимка капчи
$x1 = 679
$y1 = 407
$x2 = 932
$y2 = 469
WAIT(1)
$hwnd = wndFind("AGClient v1.4") // находим окно
LOGWRITE ("AGClient hwnd: ", $hwnd)
HINTPOPUP(STRCONCAT("hwnd: ", $hwnd), "AGClient")
TFCLEAR("out.txt")
WAITMS(50)
TFWRITE("out.txt", "0")
waitms(200)
// последовательное задание координат
PostMessage($hwnd, 0x555, 1, $x1)
PostMessage($hwnd, 0x555, 2, $y1)
PostMessage($hwnd, 0x555, 3, $x2)
PostMessage($hwnd, 0x555, 4, $y2)
PostMessage($hwnd, 0x555, 5, 0) // распознать
waitms(200)
$response = 0
WHILE($response = 0)
$response = TFREAD("out.txt", 1)
WAITMS(500)
END_CYC
IF ($response = 1)
$str = TFREAD("out.txt", 2)
LOGWRITE ("Распознано. Ответ: ", $str)
TOCLIP($str) // капчу в буфер
WAITMS (50)
LCLICK(1055,445) // клик по полю ввода (нужно вписать координату этого поля!!!)
WAITMS (50)
KEYDOWN (#CTRL) // вставляю в окошко из буфера
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (100)
KEYPRESS(#ENTER) // отправить
WAITMS(300)
$cap4a = 0 // после ввода выходим из цикла
END_IF
IF ($response = 2)
LOGWRITE ("НЕ распознано. Ошибка!")
WAITMS(300)
END_IF
END_CYC
END_IF
Проблема - похоже, кликер не передает данные в AGClient .
В логе пишет:
19:54:32 Есть капча
19:54:33 AGClient hwnd: 19728186
И на этом всё.
Сам AGClient работает нормально (и на тесте. и на реальном распознавании капчи).
Использую Clickermann v4.13 х 64 и AGClient v1.4.
Подскажите, что неправильно в коде?