Поиск изображения

Помощь в написании скриптов
metteur
Posts: 1
Joined: 04 Jul 2021, 12:44

Поиск изображения

Post by metteur » 04 Jul 2021, 12:58

Дорогие друзья, я только начинаю осваивать AHK и, возможно, задаю банальный вопрос. Мне нужно нажать на кнопуц в Adobe Acrobat. Я нахожу ее по фрагменту изображения. Это работает.... но, как только я запускаю скрипт на другом компьютере, даже если разрешение экрана точно такое же, картинка уже не находится. Приходится на каждом новом компьютере делать новую поисковую сигнатуру.
Посоветуйте, как это обороть.
*(возможно, я могу идентифиципрвать кнопку по коду, но это у меня не получается)

loop {
ImageSearch, foundX, foundY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, START.png
Click, %foundX%, %foundY%
}
START.png
START.png (284 Bytes) Viewed 2001 times
Adobe.jpg
Adobe.jpg (9.37 KiB) Viewed 2001 times

mcl
Posts: 355
Joined: 04 May 2018, 16:35

Re: Поиск изображения

Post by mcl » 04 Jul 2021, 15:31

Причины могут быть разными, например, различие в сглаживании шрифтов или плотности пикселей (DPI) на другой системе.
В первом случае можно попробовать подобрать допустимый порог изменений с помощью опции *n (variation), например:

Code: Select all

ImageSearch, foundX, foundY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, START.png *10
Во втором же изображения будут сильно различаться размерами, так что всё-таки стоит поискать класс кнопки. У меня Acrobat не установлен, могу лишь порекомендовать алгоритм:
1. ПКМ на иконке AHK в трее → Window Spy
2. Поставить галку «Follow Mouse»
3. Навести на кнопку
4. Если в поле «Control Under Mouse Position» написан ClassNN − запомнить его (или скопировать, удержав Ctrl/Shift).
4.1. Убедиться, что у соседних элементов ClassNN отличается.
4.2. Проверить с помощью ControlGetPos/ControlGetText, что кнопка определяется верно.
4.3. Использовать ControlClick для нажатия.
github://oGDIp - GDI+ wrapper for AHK v1.1

Post Reply

Return to “Помощь”