Тема: AHK: Поиск по экрану
Доброго времени суток.
Я в ahk не очень силен, даже наверное слаб.Я написал код и подробно расписал его, насколько смог, чтобы он был понятен. Проблема заключается в том, что клик по фото происходит в верхнем левом углу, а не в центре. Также требуется двойной клик, начиная со вторых координат.
Вот целый код:
#Persistent
F2:: ; При нажатии на F2 анализирует экран и находит изображения
AnalyzeScreen()
return
F3:: ; При нажатии на F3 выполняет клики по ранее найденным изображениям
ClickSavedImages()
return
AnalyzeScreen() {
; Создаем или очищаем файл .ini для записи координат
FileDelete, C:\Users\Влад\Desktop\td\ImageCoordinates.ini
; Проходим по всем изображениям от number_1.jpg до number_20.jpg
Loop, 20 {
; Формируем путь к текущему изображению
currentImagePath := "C:\Users\Влад\Desktop\td\number_" . A_Index . ".jpg"
; Ищем изображение на экране
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 %currentImagePath%
; Если изображение найдено, записываем его координаты в файл .ini
if !ErrorLevel {
Coord := FoundX "," FoundY
FileAppend, %Coord%`n, C:\Users\Влад\Desktop\td\ImageCoordinates.ini
}
}
}
ClickSavedImages() {
; Открываем файл .ini для чтения координат
FileRead, Coord, C:\Users\Влад\Desktop\td\ImageCoordinates.ini
; Проходим по строкам файла
Loop, Parse, Coord, `n
{
; Разделяем строку на координаты
CoordArray := StrSplit(A_LoopField, ",")
ClickX := CoordArray[1]
ClickY := CoordArray[2]
MouseClick, Left, %ClickX%, %ClickY%, 2 ; клик левой кнопкой мыши
Sleep, 1000
}
}
Идея кода заключается в том, что при анализе экрана он найдет на нем 20 различных фотографий и уже затем запишет их координаты в файл .ini. Затем он будет последовательно кликать на эти координаты на экране.