While 1
If '0x' & Hex(PixelGetColor(500, 345)) = '0x0000ff' Then Send('a') ;синий
If '0x' & Hex(PixelGetColor(500, 345)) = '0x000000' Then Send('w') ;чёрный
If '0x' & Hex(PixelGetColor(500, 345)) = '0xff0000' Then Send('s') ;красный
WEnd
А если мне несколько пикселей и для каждого свой цвет и своя кнопка
Как такое реализовать?
чем искать цвет и пиксели
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{ESC}","OnExit") ;ESC для выхода
$Form1 = GUICreate("0x000000", 100, 50, 192, 124, $WS_SYSMENU, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE,$WS_EX_TOPMOST))
GUISetState(@SW_SHOW)
While 1
if GUIGetMsg() = -3 then Exit
WinMove($Form1,"",MouseGetPos(0) + 20,MouseGetPos(1) + 20)
$nColor = PixelGetColor(MouseGetPos(0), MouseGetPos(1))
WinSetTitle($Form1,"", '0x' & Hex($nColor, 6))
GUISetBkColor("0x" & Hex($nColor, 6))
WEnd
Func OnExit()
Exit
EndFunc
While 1
If PixelGetColor(571, 708) = '0x00FF00' Then Send('a') ;зелёный
If PixelGetColor(623, 707) = '0xC1272D' Then Send('s') ;красный
If PixelGetColor(675, 707) = '0xD9E021' Then Send('d') ;жёлтый
If PixelGetColor(724, 710) = '0x0070BC' Then Send('j') ;синий
If PixelGetColor(771, 705) = '0xF7931E' Then Send('k') ;оранжевый
If PixelGetColor(826, 706) = '0x93278F' Then Send('l') ;фиолетовый
WEnd
И он будет делать это пока я не выключу?
сколько не старался, не получается :(А нельзя зделать диапазон пикселей?
попробуй так:И как зделать что бы он не жал 1 раз а зажимал пока этот цвет идёт
While 1
If PixelGetColor(571, 708) = '0x00FF00' Then
Do
Send('a') ;зелёный
Until Not PixelGetColor(571, 708) = '0x00FF00'
EndIf
;...
WEnd
While 1
If '0x' & Hex(PixelGetColor(571, 708)) = '0x00FF00' Then Send('a') ;зелёный
If '0x' & Hex(PixelGetColor(623, 707)) = '0xC1272D' Then Send('s') ;красный
If '0x' & Hex(PixelGetColor(675, 707)) = '0xD9E021' Then Send('d') ;жёлтый
If '0x' & Hex(PixelGetColor(724, 710)) = '0x0070BC' Then Send('j') ;синий
If '0x' & Hex(PixelGetColor(771, 705)) = '0xF7931E' Then Send('k') ;оранжевый
If '0x' & Hex(PixelGetColor(826, 706)) = '0x93278F' Then Send('l') ;фиолетовый
WEnd
While 1
If PixelGetColor(570, 715) = '0x00FF00' Then
Do
Send('a') ;зелёный
Until Not PixelGetColor(570, 715) = '0xABFF2D'
PixelGetColor(621, 715) = '0xC1272D' Then
Do
Send('s') ;зелёный
Until Not PixelGetColor(621, 715) = '0xFF4040'
PixelGetColor(672, 715) = '0xD9E021' Then
Do
Send('d') ;зелёный
Until Not PixelGetColor(672, 715) = '0xFFCC00'
EndIf
WEnd
While 1
If PixelGetColor(570, 715) = '0x00FF00' Then Send('a') ;зелёный
If PixelGetColor(621, 715) = '0xC1272D' Then Send('s') ;красный
If PixelGetColor(672, 715) = '0xD9E021' Then Send('d') ;жёлтый
If PixelGetColor(724, 715) = '0x0070BC' Then Send('j') ;синий
If PixelGetColor(777, 715) = '0xF7931E' Then Send('k') ;оранжевый
If PixelGetColor(830, 715) = '0x93278F' Then Send('l') ;фиолетовый
WEnd
как зделать что бы зажимал на 0.2 сек кнопку
Opt('SendKeyDownDelay', 200) ;Изменяет продолжительность нажатого состояния клавиши, перед тем как отпустить (в миллисекундах).
;...
While 1
Opt('SendKeyDownDelay', 200)
If PixelGetColor(570, 715) = '0x00FF00' Then Send('a') ;зелёный
If PixelGetColor(621, 715) = '0xC1272D' Then Send('s') ;красный
If PixelGetColor(672, 715) = '0xD9E021' Then Send('d');жёлтый
If PixelGetColor(724, 715) = '0x0070BC' Then Send('j');синий
If PixelGetColor(777, 715) = '0xF7931E' Then Send('k');оранжевый
If PixelGetColor(830, 715) = '0x93278F' Then Send('l');фиолетовый
WEnd
только если 2 или 3 кнопки зажать надо он тупит и не жмёт ничего
Opt('SendKeyDownDelay', 50)
$i = 0
HotKeySet('{Esc}', '_Exit')
Run(@WindowsDir & '\notepad.exe')
$hWin = WinWaitActive('[Class:Notepad]', '', 5)
If $hWin Then
While WinActive($hWin)
$i += 1
If Not Mod($i, 5) Then
Send('{LSHIFT down}')
Else
Send('{LSHIFT up}')
EndIf
If PixelGetColor(111, 90) = 0xABBED6 Then Send('Все')
If PixelGetColor(666, 73) = 0x184589 Then Send(' ')
If PixelGetColor(428, 17) = 0xF1D081 Then Send('ра')
If PixelGetColor(890, 22) = 0x015FC4 Then Send('бо')
If PixelGetColor(17, 289) = 0x545D7E Then Send('та')
If PixelGetColor(38, 632) = 0xF8F8F8 Then Send('ет')
If PixelGetColor(75, 452) = 0x8C8DA9 Then Send(' ')
If PixelGetColor(352, 16) = 0xC9E4FB Then Send('как')
If PixelGetColor(411, 107) = 0x7583A8 Then Send(' ')
If PixelGetColor(745, 100) = 0xF6F6F6 Then Send('надо')
If PixelGetColor(30, 250) = 0xF6DFA1 Then Send(' без')
If PixelGetColor(247, 113) = 0xB8B4CB Then Send(' проблем.')
If PixelGetColor(268, 19) = 0x264B92 Then Send('{ENTER}')
WEnd
EndIf
Func _Exit()
Exit
EndFunc ;==>_Exit