Skip to Content

События

alt

Primo Studio позволяет настроить реакцию Робота на отслеживаемое событие (обработать его). Под событием понимается сообщение, посланное объектом, чтобы сообщить о совершении действия. Это действие может быть вызвано пользовательским взаимодействием, например, нажатием кнопки, или какой-то другой программной логикой, например изменением значения свойства.

В Студии имеются обработчики следующих групп событий:

  • События рабочего стола (клик мышью, нажатие клавиши клавиатуры, запуск процесса, завершение процесса, изменение атрибута элемента).
  • События браузера (клик мышью, нажатие клавиши клавиатуры, изменение атрибута элемента).
  • События OCR (клик изображения).
  • События файловой системы (изменение файла).

Контейнер

Элемент События представляет собой контейнер обработчиков событий, работающий циклически. Он состоит из двух подконтейнеров:

  • «События» - сюда помещаются отслеживаемые события (триггеры).
  • «Действия» - сюда помещаются элементы, запускающие необходимые действия в ответ на произошедшее событие.

Пример:

В подконтейнер «События» мы поместили Событие спецкнопки, где выбрали клавишу Tab.

А в подконтейнер «Действия» добавили Окно сообщения:

alt

Результат: робот начнет отслеживать нажатие клавиши Tab и, когда это произойдет, выведет на экран окно с заданным сообщением.

Свойства

Описание общих свойств см. в разделе Свойства элемента.
Символ * в названии свойства указывает на обязательность заполнения.

СвойствоТипОписание
События:
Аргумент*LTools.Common.Model. Triggers.TriggerEventArgsАргументы, содержащие данные о произошедшем событии. Представлены переменной args, значение которой заполняется автоматически и только в момент возникновения события (например, при нажатии спецкнопки). Значение нельзя задать или отредактировать
Режим*LTools.Common.Model. Triggers.TriggerScopeModes

Режим работы контейнера:

* Однократный (One Time) - прекращает отслеживать события после первого триггера.

* Последовательный (Sequential) - продолжает отслеживание после завершения всех действий. Установлен по умолчанию.

* Параллельный (Parallel) - никогда не прекращает отслеживание и запуск действий. Новое событие обрабатывается в параллельном потоке

Поток*BooleanОпределите, нужно ли запускать контейнер в отдельном потоке
Вывод:
ПеременнаяLTools.Common. UIElements. IWFTriggerScopeПеременная для хранения ссылки на контейнер

Демонстрация работы разных режимов

  1. Работа в последовательном (Sequential) и Однократном (One Time) режимах.

    ‼️ Если в свойствах был выбран режим Последовательный (Sequential), то после выполнения действий отслеживание событий продолжится, а это значит, что цикл самостоятельно не завершится. Чтобы выйти из цикла, поместите в подконтейнер «Действия» элемент Остановка событий.

    alt

  2. Работа в параллельном режиме (Parallel):

    alt

TriggerEventArgs

LTools.Common.Model.Triggers.TriggerEventArgs - модель данных события. Данные зависят от типа триггера: робот заполняет только те свойства модели, которые относятся к вызываемому событию.

Свойства модели:

  1. TriggerName - имя триггера. System.String.
  2. TriggerID - ID элемента-события. System.Guid.
  3. TriggerType - тип триггера. System.RuntimeType.
  4. HotKey - данные о горячих клавишах. LTools.Common.Model.Triggers.HotKeyInfo.
  5. MouseClick - данные о клике мыши. MouseClickInfo.
  6. FileChange - данные об изменении файла. FileChangeInfo.
  7. ProcessInf - данные о процессе. ProcessInfo.
  8. Attribute - данные атрибута. AttributeInfo.

Пример данных для события спецкнопки:

alt