Помогите доработать код подсчета кликов мышью по кнопке на экране

Помощь в написании скриптов
jackiss
Posts: 7
Joined: 04 Sep 2020, 09:16

Помогите доработать код подсчета кликов мышью по кнопке на экране

Post by jackiss » 11 Sep 2020, 04:48

Помогите пожалуйста! :D
Есть код для подсчета кликов мышью по кнопке в окне браузера.
Код сам определяет эту область кнопки, по заранее сделанному её скрину, так как кнопка не всегда находится на одном месте. При прокрутке, она немного смещается по вертикали. Но есть проблемы, не всегда срабатывает потому, что кнопка при наведении на неё курсором, меняет немного оттенок, во вторых сам счетчик отображается не корректно, с какой то каказяброй. Помогите доработать скрипт. ;)

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

Return to “Помощь”