Есть код для подсчета кликов мышью по кнопке в окне браузера.
Код сам определяет эту область кнопки, по заранее сделанному её скрину, так как кнопка не всегда находится на одном месте. При прокрутке, она немного смещается по вертикали. Но есть проблемы, не всегда срабатывает потому, что кнопка при наведении на неё курсором, меняет немного оттенок, во вторых сам счетчик отображается не корректно, с какой то каказяброй. Помогите доработать скрипт.
Code: Select all
CoordMode, Mouse, Screen
; Полый путь к картинке:
Pict = C:\Click.png
Size := GetImageSize(Pict) ; Получить разрешение картинки.
Wmax := Size.W
Hmax := Size.H
If !Wmax
ToolTip, Ошибка получения размера картинки!
Return
~vk1:: ; 'Скрытый' перехват левой кнопки мыши.
MouseGetPos, X_pos, Y_pos ; Текущая позиция курсора.
SearX := X_pos-Wmax ; Определяем минимальные и максимальные границы позиции кнопки:
SearY := Y_pos-Hmax
SearX1 := X_pos+Wmax
SearY1 := Y_pos+Hmax
ImageSearch, X,Y, SearX, SearY, SearX1, SearY1, *60 %Pict%
ErrorLevel ? 0 : Click(X,Y) ; Если нажатие в пределах картинки.
Return
Click(x,y)
{
Global I
I++
ToolTip, Клик номер: %I%
}
;01:23 26.06.2020 Получить разрешение картинки: [teadrinker]
GetImageSize(imageFilePath)
{
Gui, New
Gui, Add, Pic,, % imageFilePath
GuiControlGet, Pic, Pos, Static1
Gui, Destroy
Return { W: PicW, H: PicH }
}
Code: Select all
#SingleInstance, Force
count := 0
~LButton::
MouseGetPos, xpos, ypos
; Координаты первой точки
x1 := 200
y1 := 100
; Координаты второй точки
x2 := 790
y2 := 145
if (ypos > y1) and (ypos < y2) and (xpos > x1) and (xpos < x2)
count++
ToolTip, % count
Sleep 300
ToolTip