Kenich
F2 - Запуск
F6 - Выключить
List - Переменная, содержит имена файлов для поиска
; Путь, где хранятся картинки для поиска:
Dir = C:\Users\HomePC\Desktop\gug\TytFoto\
; Список где названия картинок с расширением, в качестве делителя строки будет символ '-'
List = СКМ.png-ПКМ.png-ЛКМ.png-Y.png
; Время ожидания перед очередным поиском картинок: (указываем в мс)
Time := 5000 ; 5 секунд
;Time := 1000* 15 ; 15 секунд (можно так)
Return
; F2 - Кнопка запуска таймера, который будет запускать метку 'Search' каждое 'Time' время:
F2::
SetTimer, Search, %Time%
Return
; F6 - Кнопка выключения таймера
F6::
SetTimer, Search, Off
ToolTip, Поиск картинок выключен.
Sleep, 3000
ToolTip
Return
Search:
Loop, parse, List, -
{
File_Name := A_LoopField
ImageSearch, Coordinate_X, Coordinate_Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *60 %Dir%\%File_Name%
If ErrorLevel = 0 ; Если картинка найдена:
{
MouseMove, %Coordinate_X%, %Coordinate_Y%, 0 ; Переместить мышь на картинку
ToolTip, Найдена: %File_Name%`nПозиция: %Coordinate_X%`, %Coordinate_Y% ,0,0
Sleep, 1000
; Кнопки, что будут нажиматься: (определение по названию файла - добавить остальные)
If File_Name = СКМ.png
Send, {MButton}
Else If File_Name = ПКМ.png
Send, {RButton}
Else If File_Name = ЛКМ.png
Send, {LButton}
Else If File_Name = Y.png
Send, Y
ToolTip
Return
}
If ErrorLevel = 2
{
MsgBox, 8256, ERROR: Ошибка поиска, Не удалось провести поиск. Отсутствует файл %File_name%
Return
}
Else if ErrorLevel = 1
{
ToolTip, Картинка %File_name%`nне найдена ,0,0
Sleep, 1000
ToolTip
}
}
Return
Данный код очень колхозный. При желании можно облегчить 'жизнь' скрипту - указать координаты поиска в текущем окне, заменив переменные 0, 0, A_ScreenWidth и A_ScreenHeight на необходимые пределы поиска.
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) |
AHK-Wiki |
Переменные и выражения |
RegEx101