AHK: Нажатие кнопки в определенном окне

AHK: Нажатие кнопки в определенном окне

Добрый день. Помогите пожалуйста с таким скриптом. В AHK я ноль, поэтому прошу помощи у Вас. Такая проблема. В 1С когда база закрывается некорректно она просит ее проиндексировать. НО пользователи, дабы не ждать индексации ее отменяют при запросе на индексирования. Можно ли как то при запросе на индексирование запретить нажатие кнопки "НЕТ" или автоматически нажимать кнопочку"ДА" ?

2 Ответ от InFlames 2011-01-28 12:43:29
  • InFlames
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Что бы ожидать появление окна с определенным заголовком, надо использовать

Что бы нажать определенную кнопку в окне, можно использовать имитацию нажатия клавиш:- если курсор стоит на нужной кнопке, то

- если курсор стоит на другой кнопке, то переместить курсор в нужную сторону, например, влево

Вместо имитации нажатия клавиш можно использовать команду

Что бы зациклить написанный скрипт (что бы он работал не один раз), небходимо использовать

3 Ответ от Arlekin_s 2011-01-28 15:02:28 (изменено: Arlekin_s, 2011-01-28 15:14:19)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Ну.. пытаюсь попробывать

походу ругается на ControlClick

4 Ответ от InFlames 2011-01-28 15:55:26
  • InFlames
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Что за скобки и кавычки? Названия окон пишутся "как есть" без кавычек и скобок. Скобки и кавычки используются только в функциях, но не в обычных командах.

Вот пример для калькулятора. Ждет в появления окна калькулятора. Как только окно становится активным нажимает кнопку button5 (это единица).

Название кнопки "ДА" я просто привел как пример, я не знаю как она называется к Вас. Запустите Window Spy и наведите курсор на кнопку в нужном окне, в поле ClassNN будет написано название кнопки.

5 Ответ от ypppu 2011-01-28 17:50:35
  • ypppu
  • Модератор
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Если кнопка является стандартным элементом управления, вполне возможно, что её удастся заблокировать.ControlПроизводит разнообразные изменения в контролах (элементах управления в окне). Control, Cmd [, Value, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]

6 Ответ от Arlekin_s 2011-01-31 15:09:16 (изменено: Arlekin_s, 2011-01-31 15:12:18)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

тогда у меня следующий вопрос.я установил редактор скриптов SciTE4AutoIt3.

и на вот этот скрипт

и в этом редакторе выдает ошибку

7 Ответ от alexii 2011-01-31 15:18:35
  • alexii
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

я установил редактор скриптов SciTE4AutoIt3

8 Ответ от Arlekin_s 2011-01-31 16:14:57 (изменено: Arlekin_s, 2011-01-31 16:26:29)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

я поставил набор программ и библиотек для запуска скриптов

вот этот скрипт работает

а вот это не работает

И еще. Как написано в 1м скрипте названия окон ставятся в кавычках и в скобках

а выше мне говоорили

Что за скобки и кавычки? Названия окон пишутся "как есть" без кавычек и скобок. Скобки и кавычки используются только в функциях, но не в обычных командах.

9 Ответ от teadrinker 2011-01-31 16:46:25
  • teadrinker
  • Администратор
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

А ты на каком языке программировать пытаешься, на AutoIt или AHK?

10 Ответ от Arlekin_s 2011-01-31 17:43:50
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Так. Теперь начинаю догонять. А где здесь можно почитать про АНК. Так сказать начать с самого начала. И если не трудно скажите в чем между ними разница ?

11 Ответ от teadrinker 2011-01-31 18:05:23
  • teadrinker
  • Администратор
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне 12 Ответ от Arlekin_s 2011-02-01 16:00:47 (изменено: Arlekin_s, 2011-02-01 16:01:56)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Вот что показывает Window Spy

Вот скрипт который должен отрабатывать нажатие клавиши, но почему то не отрабатывает.

подскажите где закралась ошибка

13 Ответ от teadrinker 2011-02-01 16:08:03
  • teadrinker
  • Администратор
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Попробуй дописать к названию окна название класса:

14 Ответ от Arlekin_s 2011-02-01 18:38:21
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Попробуй дописать к названию окна название класса:

нет.. ничего не происходит.. когда появляется это окно то кнопка Да не нажимается ((

15 Ответ от teadrinker 2011-02-01 18:50:02
  • teadrinker
  • Администратор
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Кроме того, нужно убедиться, что одновременно не существует ещё одного окна с таким же названием и классом.

16 Ответ от InFlames 2011-02-01 19:05:49
  • InFlames
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Этот скрипт выдает msgbox каждый раз, когда появляется заданное окно. Проверь, работает ли.

Если это окно становится активным, то можно попробовать нажать Enter (при условии, что фокус сразу находится на нужной кнопке)

17 Ответ от Arlekin_s 2011-02-02 11:56:19
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Ни один из вышеперечисленных скриптов не заработал.

Я не знаю это поможет или нет. Но Когда на иконке, в трее, На скрипте нажимаешь Правой кнопкой -> Open

то появляется такое окно

18 Ответ от YMP 2011-02-02 13:17:52
  • YMP
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Видимо, Вы используете AutoHotkey_L Unicode. Для него скрипты нужно сохранять в UTF-8.

19 Ответ от Arlekin_s 2011-02-02 15:27:05
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Спасибо все работает.. Но появилась другая проблема.Можно ли как то различать окна по тексту в них если названия окон одинаковые. Объясню для чего:1. Когда пользователь неправильно ввел пароль выскакивает окно 1С:Предприятие "Неправильны пароль" Скрипт срабатывает нажимая "Button1". Т.е. сообщение увидеть не представляется возможным.2. Когда база поломалась и в нее входишь не монопольно то программа выдает окно 1С:Предприятие "База была завершена аварийно и бла бла бла бла. " Тоже срабатывает скрипт и сообщение увидеть не получится.И только в 3м случае когда входишь монопольно он срабатывает как надо.

Можно ли как то сделать чтобы скрипт обрабатывал только нужное окно в котором написан определенный текст.

20 Ответ от YMP 2011-02-02 15:35:43
  • YMP
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

А текст из этих окон не копируется в буфер обмена по нажатию Ctrl-C или Ctrl-Ins?

21 Ответ от Arlekin_s 2011-02-02 15:36:56 (изменено: Arlekin_s, 2011-02-02 15:40:00)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Нет. Это текст на форме.

вот информация этого окна. Курсор стоит на кнопке "Ок"

22 Ответ от YMP 2011-02-02 16:03:01
  • YMP
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Я понял, что на форме. Текст некоторых диалоговых окон можно скопировать, нажав упомянутые сочетания (без выделения текста). Вы проверили или вывели из того, что текст на форме?

23 Ответ от YMP 2011-02-02 16:18:09
  • YMP
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Кстати, обратите внимание, что WinWaitActive имеет параметр WinText. Попробуйте его использовать.

Или с каким там текстом окно Вам нужно, подставьте сами.

24 Ответ от Arlekin_s 2011-02-02 16:22:47 (изменено: Arlekin_s, 2011-02-02 16:36:51)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

А обязательно весь текст писать ?

Спасибо разобрался )) Все работает )

25 Ответ от Arlekin_s 2011-02-02 18:11:44 (изменено: Arlekin_s, 2011-02-02 18:12:20)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Решил чучуть усовершенствовать скрип. Чтобы закрывал окна в связи с простоем.

Проблема вот в чем, на окне Авторизация доступа скрипт через 5 секунд пишет сообщение, а потом опять через 5 секунд пишет сообщение и только тогда закрывает окно.

В окне Запуск 1С:Предприятия все работает нормально

26 Ответ от YMP 2011-02-02 18:23:48
  • YMP
  • Разработчик
  • Неактивен
Re: AHK: Нажатие кнопки в определенном окне

Так может, тоже WinClose использовать? Если Button2 — Отмена, то один чёрт, наверно, что её нажать, что просто закрыть окно.

27 Ответ от Arlekin_s 2011-02-02 18:34:15 (изменено: Arlekin_s, 2011-02-02 18:35:25)
  • Arlekin_s
  • Участник
  • Неактивен
  • Рейтинг : [ 0 | 1 ]
Re: AHK: Нажатие кнопки в определенном окне

Заменил на WinClose. Проблема не исчезла. Только после второго раза закрывается окно.

📎📎📎📎📎📎📎📎📎📎