2

Вот моя функция ожидания появления окна с таймаутом в 3 секунды. По истечении времени ожидания отображается сообщение об ошибке.

WaitForWindow( title, message )
{
    WinWaitActive, %title%, ,3
    if ErrorLevel
    {
        MsgBox %message%
        return false
    }
    return true
}

Работает для всех остальных окон, кроме LogExpert

Часть скрипта, которая его использует:

Run, c:\\tools\\logexpert\\logexpert.exe %MyLogFile%, max
WaitForWindow( %MyLogFile%, "No logExpert Window")

Неважно, что содержит% MyLogFile%. Он не распознает окно.

Это, с другой стороны, работает:

^!o::
Send ^o
if not WaitForWindow( "Open File", "No Open File Window appeared" )
{
    return
}
MsgBox "Worked"

У кого-нибудь была такая проблема с Autohotkey и LogExpert? Есть ли обходной путь?

1 ответ1

1

Вы установили SetTitleMatchMode в начале скрипта?
Это позволит вам найти строку %Title% любом месте заголовка окна активного окна.

SetTitleMatchMode, 2

Вы можете проверить строки заголовка с помощью AutoHotKey Windows Spy (щелкните правой кнопкой мыши значок AutoHotKey). После того как AutoHotKey Windows Spy открыт, нажмите на целевое окно, чтобы проверить данные из этого окна.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .