Quantcast
Channel: AutoHotkey Community
Viewing all articles
Browse latest Browse all 579

Помощь • Скрипт не всегда срабатывает

$
0
0
Здравствуйте. Есть скрипт Autohotkey. Его задача - отслеживать, когда в определенном окне появляется и пропадает кнопка. Если кнопка в отслеживаемом окне исчезла - через 5 секунд он должен показывать Msgbox.
Проблема - скрипт работает, когда ему хочется. Msgbox показывается иногда(!), и то только когда окно активно и в нем выполняются какие-то действия. Если окно после отсчета времени свернуто или неактивно, скрипт не работает и не показывает Msgbox. Хотя он должен его развернуть и показать Msgbox. Как это исправить?
Окно, в котором скрипт должен отслеживать наличие/отсутствие кнопки. появляется не так часто, раз в 2-3 минуты, и кнопка в нем пропадает не сразу, т.е. у скрипта есть возможность отследить момент его появления и найти/не найти кнопку.

CODE:

#SingleInstance, force
#NoEnv

ProgramName := "Program1"

Loop
{
WinWait, % "Диалоговая форма ahk_class WindowsForms10.Window.8.app.0.329445b_r8_ad1",, 5 ; ждем появление окна
if !ErrorLevel
{
ControlGet, OutputVar, Visible,, WindowsForms10.Window.8.app.0.329445b_r8_ad184; проверяем наличие кнопки в окне
if (OutputVar) ; если кнопка в данном окне обнаружена
Continue ;продолжаем проверку
else ; если кнопки в данном окне не обнаружено
{
Sleep, 5000 ; ждем 5 секунд
IfWinExist, % "Диалоговая форма ahk_class WindowsForms10.Window.8.app.0.329445b_r8_ad1" ; если это окно все еще существует
{
IfWinNotActive, % "Диалоговая форма ahk_class WindowsForms10.Window.8.app.0.329445b_r8_ad1" ; и оно неактивно
{
ControlGet, OutputVar, Visible,, WindowsForms10.Window.8.app.0.329445b_r8_ad184; проверяем наличие кнопки в нем еще раз
if (OutputVar)
Continue
else ; если кнопки в данном окне снова не обнаружено
{
WinActivate ; делаем окно активным
MsgBox, 262160, % "Program1", % "Готово"; и показываем MsgBox
}
}
Else ; если это окно все еще существует, и оно активно
MsgBox, 262160, % "Program1", % "Готово"; показываем MsgBox
}
Else ; если окно не существует, продолжаем проверку
Continue
}
}
else
Continue ; если окно не появилось, начинаем проверку сначала
}

Statistics: Posted by marusa122 — Today, 07:00



Viewing all articles
Browse latest Browse all 579

Trending Articles