Что нового

Автоматизация нажатий клавиатуры по цвету пикселя через определенный интервал

Neverwin

Новичок
Сообщения
2
Репутация
0
Подскажите пожалуйста, как можно сделать следующее.
Нужно каждые полчаса сначала нажимать определенную последовательность клавиш (ESC, вправо, ENTER, ENTER).

Затем проверять цвет пикселя.
Если цвет совпадает - то нажимаем еще одну последовательность клавиш, если не совпадает - нажимаем другую последовательность.
Затем ждем полчаса - и начинаем цикл заново.
Вот что у меня получилось, работает не очень хорошо.

Код:
MsgBox(0, "Hi", "Press Ok to continue! Delete to Exit!") ; first message box

Global $Paused
HotKeySet("{DELETE}", "Terminate")

While 1
	Send("{ESC}") ; первая последовательность
	Sleep(1000)
	Send("{RIGHT down}")
	Sleep(200)
	Send("{RIGHT up}")
	Sleep(200)
	Send("{ENTER down}")
	Sleep(200)
	Send("{ENTER up}")
	Sleep(200)
	Send("{ENTER down}")
	Sleep(200)
	Send("{ENTER up}")
	Sleep(200)

	$var = PixelGetColor(340, 281) ; цвет пикселя на данный момент времени
    $cvet =0x090909 ;цвет, который нужен мне
	if $var =$cvet Then ; проверяем нужный цвет пикселя
	Send("{ENTER down}")
	Sleep(200)
	Send("{ENTER up}")
	Sleep(200)
	Send("{DOWN down}")
	Sleep(200)
	Send("{DOWN up}")
	Sleep(200)
	Send("{DOWN down}")
	Sleep(200)
	Send("{DOWN up}")
	Sleep(200)
	Send("{DOWN down}")
	Sleep(200)
	Send("{DOWN up}")
	Sleep(200)
	Send("{DOWN down}")
	Sleep(200)
	Send("{DOWN up}")
	Sleep(200)
	Send("{DOWN down}")
	Sleep(200)
	Send("{DOWN up}")
	Send("{ENTER down}")
	Sleep(200)
	Send("{ENTER up}")
	Else ; если цвет не тот, то выполняем
	Send("{ESC}")
	Sleep(2000)
	Send("{ESC}")
EndIf
WEnd

Func Terminate()
Exit 0
EndFunc


Подскажите, как правильнее будет сделать? Спасибо!

Тема не актуальна, разобрался. Можно закрывать
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
используй вместо PixelGetColor PixelSearch с шейдом.
 
Верх