Тема: AHK: ImageSearch не всегда срабатывает
Имеется n-ое количество одинаковых кнопок.
Некоторые подсвечены, некоторые нет
Если кликнуть по какой-либо из них мышкой то она поменяет своё состояние из подсвеченного в неподсвеченный или наоборот из неподсвеченного в подсвеченный.
Задача такая - запомнить какие-из них подсвечены, так как будет применяться комманда (в самой программе без AHK) которая их всех делает неподсвеченными, после чего нужно вернуть подсветку в первоначальное положение.
Всю ночь создавал скрипт пока для 3ёх кнопок, который в итоге не всегда работает,
PgDn::
ImageSearch, x1, y1, 410, 590, 600, 1050, C:\video1.png ; ищем заранее сохранённый кусочек подсвеченной кнопки
if ErrorLevel = 1 ; если не нашли , то выполняем комманду
{
Send, ^!1^!2{PgDn}!0!9 ; Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off выключаем у всех кнопок посветку
return
}
ControlClick, % "x" x1 " y" y1, ahk_class Premiere Pro ; если одну нашли, то по ней кликаем, чтобы в следующем поиске на неё не натыкаться
ImageSearch,x2, y2, 410, 590, 600, 1050, C:\video1.png ; ищем следующую
if ErrorLevel = 1 ; если не нашли , то выполняем комманду
{
Send, ^!1^!2{PgDn}!0!9 ; Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off выключаем у всех кнопок посветку
ControlClick, % "x" x1 " y" y1, ahk_class Premiere Pro ; включаем подсветку кликом у той кнопки, которая была подсвечена изначально
return
}
ControlClick, % "x" x2 " y" y2, ahk_class Premiere Pro ; если нашли вторую, то по ней кликаем, чтобы в следующем поиске на неё не натыкаться
ImageSearch,x3, y3, 410, 590, 600, 1050, C:\video1.png ; ищем следующую
if ErrorLevel = 1 ; если не нашли , то выполняем комманду
{
Send, ^!1^!2{PgDn}!0!9 ; Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off выключаем у всех кнопок посветку
ControlClick, % "x" x1 " y" y1, ahk_class Premiere Pro ; включаем подсветку кликом у той кнопки, которая была подсвечена изначально
ControlClick, % "x" x2 " y" y2, ahk_class Premiere Pro ; включаем подсветку кликом у той кнопки, которая была подсвечена изначально
return
}