1 (изменено: димитрий2, 2018-10-18 18:07:44)

Тема: AHK: Ожидание открытия документа

Доброго дня.

Подскажите с таким вопросом по части Autohotkey:

Как выполнить такую операцию -
1.Запустить программу по адресу C:\1\rtws.exe
2.Ожидание когда на заголовке открытого окна данной программы - появится слово "Документ-4". (А появляется это слово на заголовке - не сразу, поскольку документ этот долго открывается)
3.Эмуляция Ctrl+A
4.Ctrl+End
5.Эмуляция F9
6.Ожидать 20 секунд
7.Закрыть данную программу

2

Re: AHK: Ожидание открытия документа

димитрий2 пишет:

Подскажите с таким вопросом

Я насчитал семь вопросов, а не один. По правилам форума у нас одна тема — один вопрос. А в таком виде это ТЗ для коммерческого раздела.
Но не расстраивайтесь, расскажу вам один лайфхак: Google —> autohotkey Запустить программу —> вы не поверите!

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

3

Re: AHK: Ожидание открытия документа

teadrinker, ну тогда только второй вопрос:

как выполнить - Ожидание когда на заголовке открытого окна данной программы - появится слово "Документ-4". (А появляется это слово на заголовке - не сразу, поскольку документ этот долго открывается).

4

Re: AHK: Ожидание открытия документа

См. команду WinWait.

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

5

Re: AHK: Ожидание открытия документа

teadrinker, в справке о WinWait - нашел такой код:


Run, "C:\1\rtws.exe"
WinWait, Документ-4, , 3
if ErrorLevel
{
    MsgBox, Истекло время ожидания.
    return
}
else
    WinMinimize ; Сворачивает окно, найденное WinWait.

Но он не работает.

Он только открывает программу по ссылке и больше ничего.
На найденное окно - никак не реагирует.
А спустя некоторое время выдает сообщение, что "Истекло время ожидания".

6

Re: AHK: Ожидание открытия документа

Можно проверить так:

Gui, Show, w300 h300, Title
SetTimer, ChangeTitle, -2000  ; через две секунды поменяем заголовок на Документ-4
WinWait, Документ-4,, 3
if ErrorLevel
   MsgBox, Время истекло
else
   MsgBox, Найдено
Return

ChangeTitle:
   Gui, Show,, Документ-4
   Return

Как видите, всё работает. У вас, возможно, указано не точное название окна. Видимое название может не соответствовать реальному, используйте Window Spy, чтобы убедиться, что название правильное.

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

7 (изменено: димитрий2, 2018-10-19 14:45:47)

Re: AHK: Ожидание открытия документа

teadrinker пишет:

У вас, возможно, указано не точное название окна.

Так я же спрашивал - не про точное название окна, не про окно с определенным заголовком.
А про - реакцию на окно - в котором есть определенное слово.

Мне не нужно менять заголовок на другой или что-то в этом духе.
Нужно просто среагировать - на окно, в заголовке которого - имеется искомое слово (кроме искомого слова - в заголовке могут быть и другие слова).

Я же в первом сообщении еще написал:
Ожидание когда на заголовке открытого окна данной программы - появится СЛОВО "Документ-4".

8

Re: AHK: Ожидание открытия документа

SetTitleMatchMode.

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

9

Re: AHK: Ожидание открытия документа

Понял.
Спасибо за ответ.