1

Тема: AHK: Найти кнопку и поставить на неё мышку

Как найти кнопку, которая появляется в разных местах экрана и поставить мышку, точно по её центру? (Размер примерно, как кнопка Пуск в Windows)
P\S:
Ответы типа "Используйте ImageSearch." не прокатят. ImageSearch Не ставит мышку точно в центр найденного изображения.

2

Re: AHK: Найти кнопку и поставить на неё мышку

Курсор можно переместить с помощью MouseMove.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Найти кнопку и поставить на неё мышку

teadrinker пишет:

Курсор можно переместить с помощью MouseMove.

Прекрасно! Но как MouseMove Поставит курсор на Центр изображения?

4

Re: AHK: Найти кнопку и поставить на неё мышку

Узнать ширину и высоту изображения можно так:

fileName := "D:\Downloads\Иконки\dropbox-icon.png"  ; указать путь к файлу картинки

GetImageDimensions(fileName, width, height)
MsgBox, % width A_Tab height
Return

GetImageDimensions(fileName, ByRef width, ByRef height)  {
   hBitmap := LoadPicture(fileName, "GDI+")
   VarSetCapacity(BITMAP, size := 4*4 + A_PtrSize*2, 0)
   DllCall("GetObject", Ptr, hBitmap, Int, size, Ptr, &BITMAP)
   width  := NumGet(BITMAP, 4, "Int")
   height := NumGet(BITMAP, 8, "Int")
   DllCall("DeleteObject", Ptr, hBitmap)
}

Дальше догадаетесь?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Найти кнопку и поставить на неё мышку

teadrinker Я совсем новичок в AHK. Пару лет назад написал, только автонаборщик пароля для браузера. Так что опыт у меня слабый. Я на разбор Вашего кода неделю потрачу, без Вашик комментариев. А уж догадываться.... Наверное не сумею. Но спасибо и на этом.

6

Re: AHK: Найти кнопку и поставить на неё мышку

Если у вас картинка не меняется, то вы можете кликнуть посередине изображения и без кода teadrinkera.
А чтоб догадаться, как найти координаты середины изображения, зная координаты начала изображения и его размеры, знания AHK не нужны.

7

Re: AHK: Найти кнопку и поставить на неё мышку

kamelotto пишет:

Я на разбор Вашего кода неделю потрачу

На данном этапе в моём коде вам и не нужно разбираться, достаточно того, что после его выполнения ширина картинки будет в переменной width, а высота в hight. А после выполнения ImageSearch вы получите её координаты в OutputVarX и OutputVarY.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Найти кнопку и поставить на неё мышку

Malcev пишет:

teadrinkera.
А чтоб догадаться, как найти координаты середины изображения, зная координаты начала изображения и его размеры, знания AHK не нужны.

Предлагаете добавить к координатам определённое число пикселей? Где то тут я видел такую функцию. Спасибо. Поищу.