В последнее время народ всё чаще спрашивает про антикапчу. Но внятно связать работу со своим скриптом не могут.
Хочу выложить шаблон для капчи Вконтакте. Здесь один из вариантов. Оформлена как #include
Скачиваем
AGClient v1.2Читаем инструкцию. Настраиваем, запускаем.
Вставляем в свой скрипт #include "Антикапча 0.2 ВК include"
Код: Clickermann
GOSUB(capcha)// гле нужно вызываем подпрограмму проверки вылезла ли капча.
сам include (скачиваем в этом посте вместе с картинками) состоит:
Код: Clickermann
SUB(capcha) //========== Ловим капчу ===========================================
MOVE(0,0)
WAITMS(100)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "capcha_NEW.bmp",-1,80) //есть капча
$x1 = $_return1+17
$y1 = $_return2+40
$x2 = $_return1+146
$y2 = $_return2+89
$hwnd = wndFind("AGClient v1.2") // находим окно
// последовательное задание координат
PostMessage($hwnd, 0x555, 1, $x1)
PostMessage($hwnd, 0x555, 2, $y1)
PostMessage($hwnd, 0x555, 3, $x2)
PostMessage($hwnd, 0x555, 4, $y2)
repeat:
waitms(200)
PostMessage($hwnd, 0x555, 5, 0) // распознать
waitms(1000)
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "AGClient.bmp")
$AGC_x = $_return1-25
$AGC_y = $_return2-56
LOGWRITE("AGClient X=", $_return1, ", Y=", $_return2)
END_IF
$pic=0
WHILE($pic=0)
GETSCREEN
IF (PXL($AGC_x, $AGC_y)=65535) // жёлтый
WAITMS(300)
END_IF
IF (PXL($AGC_x, $AGC_y)=65280) // зелёный
WAITMS(100)
$pic=1 // выходим из цикла
END_IF
IF (PXL($AGC_x, $AGC_y)=255) // красный
LOGWRITE("Не распознали")
HINTPOPUP("Не распознали")
//HALT
$pic=2
END_IF
END_CYC
IF($pic=2) // если не распознали отправляем повторно новую капчу
TOCLIP("12345")
WAITMS(100)
GOSUB(paste)
WAITMS(1500)
GOTO(repeat)
END_IF
GOSUB(paste)
WAITMS(300)
END_IF
END_SUB
SUB(paste) //========== Вставить ===============================================
KEYDOWN (#CTRL) // Ctrl+V
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
WAITMS (50)
KEYUP (#CTRL)
WAITMS (50)
KEYDOWN (#ENTER)
KEYUP (#ENTER)
WAITMS (50)
END_SUB
В указанном скрипте, если AGClient прислал, что капча не распознана, вводим что попало обновляя капчу и отсылаем заново. Если при нераспознавании нужно станавливаться, раскомментируем строку //HALT
В файле Антикапча CM4.9.zip исправление под Clickermann 4.9+ и добавлена картинка для Win7