Что нового

Поиск цвета пикселя на экране и двойной клик по нему

Gosha142

Новичок
Сообщения
7
Репутация
0
Версия AutoIt: 3.

Описание:
Необходима программа, которая искала бы на всём экране цвет определенного пикселя(2d4e1b). Если находила, делала двойной клик по этому цвету. Ждала 25 с. Снова искала цвет определенного пикселя, но уже другой(f2c17e). Если не находила, то цикл начинался заново. Если находила, то нажимала по цвету. Если в первом случае не был найден цвет пикселя(2d4e1b), то необходимо сделать прокрутить страницу вниз и там искать этот цвет. Если снова не находила этот, то страницу нужно прокрутить вверх и цикл начинается заново. Если Цвет был найден внизу страницы, то все как обычно, кроме после нахождения либо не нахождения(f2c17e),страница прокручивается вверх и цикл начинается заново.
Примечания:
 

_ToBe_

Осваивающий
Сообщения
142
Репутация
35
Чё-то я долго втыкал втыкал и кроме как запутаться ничего не получилось
Это то, что ты хотел:
Scheme.jpg
???
 
Автор
G

Gosha142

Новичок
Сообщения
7
Репутация
0
Именно. Я даже начал немного делать код. Тут чуть по-другому, чем я писал.
Код:
While 1
Sleep(100)
$aCoord_2 = PixelSearch( 903, 593, 1000, 600, 0xbd9577, 15 )           ;Цвета поменял, потому что старые не подходили. Добавил координаты прямоугольника, где они были нужны (тут появляется кнопочка, на которую нужно нажать и закрыть окно).
If Not @error Then                                                     ;Предыдущая строка, эта и две следующие - резервный код чтобы закрыть окно, если в конце скрипта код не сработал (например, долго окно не появлялось, и его не закрыли).
      MouseClick('left',$aCoord_2[0], $aCoord_2[1])
EndIf
$aCoord_1 = PixelSearch( 0, 0, 1920, 1080, 0x285714, 5 )
If Not @error Then
      MouseClick('left',$aCoord_1[0], $aCoord_1[1], 2)
	  Sleep(1000)                                                      ;Небольшая задержка, так как окно может появиться не сразу.
	  $aCoord_2 = PixelSearch( 903, 593, 1000, 600, 0xbd9577, 15 )     ;Закрытие окна (оно может появиться практически в любой момент).
If Not @error Then
      MouseClick('left',$aCoord_2[0], $aCoord_2[1], 2)
EndIf
	  Sleep(21000)                                                     ;Время уменьшил, потому что хватает и этого.
	  $aCoord_2 = PixelSearch( 903, 593, 1000, 600, 0xbd9577, 15 )
If Not @error Then
      MouseClick('left',$aCoord_2[0], $aCoord_2[1], 2)
EndIf
EndIf
WEnd
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Gosha142,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Верх