Эмуляция спецкнопки
Eng: Hot-key simulation
Элемент предназначен для эмуляции нажатия клавиш клавиатуры или их комбинаций. Этот элемент часто используется для автоматизации действий, требующих ввода с клавиатуры.
Для надежности рекомендуется использовать элемент в контейнере Присоединиться к приложению. Подключаемое приложение указывается в контейнере.
Свойства
Символ *
в названии свойства указывает на обязательность заполнения. Описание общих свойств см. в разделе Свойства элемента.
Группа «Новое ядро»
‼️ *Значения этих свойств учитываются, только если установлен чекбокс Новое ядро*.
Предоставляют возможность выбрать клавиши для эмулирования:
- Новое ядро [Boolean] — признак использования нового ядра для взаимодействия с операционной системой. Установите галочку, если новое ядро нужно использовать. По умолчанию галочка снята.
- Основная кнопка [LTools.Common.Model.VirtualKey] — клавиша, которая будет эмулирована. По умолчанию
NONE
— не задана. Щелкните выпадающий список, чтобы выбрать клавишу. Пример:VK_A
— клавиша А. См. полное описание значений. - Модификатор [LTools.Common.Model.VirtualKey] — кнопка-модификатор, которая позволяет добавить к основной клавише дополнительные функции (например, Ctrl, Shift, Alt). По умолчанию
NONE
— не задана. Щелкните выпадающий список, чтобы выбрать модификатор. Пример:CONTROL
. См. полное описание значений. - Дополнительная кнопка [LTools.Common.Model.VirtualKey] — вторая клавиша в комбинации, если она требуется. По умолчанию
NONE
— клавиша не задана. Щелкните выпадающий список, чтобы выбрать значение. Пример:ESCAPE
. См. полное описание значений.
Группа «Процесс»
‼️ *Значения этих свойств проигнорируются, если установлен чекбокс Новое ядро*.
Предназначены для указания комбинации клавиш для эмуляции:
-
Спецкнопки [String] — Эмулируемые спецкнопки. По умолчанию
"{ENTER}"
. С полным перечнем спецкнопок можно ознакомиться на сайте Microsoft .Убедитесь, что установлен Режим без кода (выкл). Иначе могут возникнуть непредвиденные символы.
-
Асинхронный [Boolean] — определяет тип ввода: синхронный или асинхронный. По умолчанию галочка не установлена — используется синхронный ввод. Отличия:
- Синхронный — в этом режиме кнопки нажимаются одновременно. Например, если нужно нажать
Ctrl
+A
, то обе клавиши активируются в один момент времени. - Асинхронный — в этом режиме между последовательными нажатиями происходит пауза. Например, при задержке в 500 миллисекунд будет сначала нажата первая клавиша, а через 500 мс — вторая.
- Синхронный — в этом режиме кнопки нажимаются одновременно. Например, если нужно нажать
-
Пауза* [Int32] — пауза в миллисекундах до и после нажатия кнопки. По умолчанию
500
. -
Таймаут* [Int32] — предельное время ожидания завершения процесса в миллисекундах. По умолчанию
10000
.
Пример эмуляции
Пример для эмуляции комбинации клавиш Ctrl
+ A
.
С использованием Нового ядра:
- Новое ядро: Включено
- Основная кнопка:
VK_A
- Модификатор:
CONTROL
С использованием Спецкнопки:
- Новое ядро: Выключено
- Спецкнопки:
"^A"
Пример использования
На странице Learning доступен RPA-проект, демонстрирующий работу с элементом:
- Скачайте архив со всеми обучающими материалами.
- Распакуйте архив и откройте в Студии проект StudioActivities.
- Выберите процесс
StudioActivities > Ru > Рабочий стол > Эмуляция спецкнопки.ltw
для просмотра.
Только код
Пример использования элемента в процессе с типом Только код (Pure code):
C#
LTools.Desktop.DesktopApp app = LTools.Desktop.DesktopApp.Init(wf, null, "Test_*", 20000, true, LTools.Desktop.Model.DesktopTypes.UIAUTOMATION);
app.SetFocus("{\"Name\":\"\",\"AutomationID\":\"txtbxSample\",\"ClassName\":\"TextBox\",\"AUIProperties\":[],\"TextSearchMode\":0,\"IsRoot\":false,\"IsQuickSearch\":false}");
LTools.Desktop.DesktopApp.HotKeySimulate(wf, "{ENTER}");
Полезные материалы
- Приложение 1. Кнопки для эмулирования - описание значений для свойств Основная кнопка, Модификатор и Дополнительная кнопка.
- Описание значений для свойства Спецкнопки .