В последнее время AGClient часто (почти всегда) выдает ошибку при отправке капчи на сервер Антигейт.
Пишет:
22:21:30 AGClient hwnd: 526702
22:21:31 НЕ распознано. Ошибка!
22:21:36 AGClient hwnd: 526702
22:21:38 НЕ распознано. Ошибка!
Цвет индикатора - красный.
И так может до бесконечности.
Вот код.
$repeat01=0
repeat:
$cap4a = 1
WHILE($cap4a = 1) // цикл распознавания капчи
// Область снимка капчи
$x1 = 605
$y1 = 442
$x2 = 922
$y2 = 523
WAIT(1)
$hwnd = wndFind("AGClient v1.5") // находим окно
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)
$cap4a = 0 // после ввода выходим из цикла
END_IF
IF ($response = 2)
LOGWRITE ("НЕ распознано. Ошибка!")
WAIT(3)
$repeat01=$repeat01+1
IF($repeat01<5)
WAIT(1)
GOTO(repeat)
ELSE
WAIT(3600)
GOTO(zagruzka)
END_IF
END_IF
END_CYC
WAITMS(200)
Раньше нормально работал. Вроде его не трогал, когда менял код в других частях скрипта, но уже не уверен. Может, что-то задел и в этом коде. но сам определить не могу.
Проверьте, пожалуйста, код - все ли в нем правильно.