Предназначена для Windows и Linux. Разработана по технологии Native API в составе библиотеки VanessaExt.
- Получение списка окон и списка процессов
- Управление размерами и положением окна
- Получение снимка окна и снимка экрана
- Обмен данными по протоколу WebSocket
- Эмуляция действий пользователя
- Доступ к данным буфера обмена
&НаКлиенте
Перем ВнешняяКомпонента;
&НаКлиенте
Процедура ПодключениеВнешнейКомпонентыЗавершение(Подключение, ДополнительныеПараметры) Экспорт
ВнешняяКомпонента = Новый("AddIn." + ИдентификаторКомпоненты + ".WindowsControl");
КонецПроцедуры
- СвойстваЭкрана (ScreenInfo)
- СписокДисплеев (DisplayList)
- СписокОкон (WindowList)
- ИдентификаторПроцесса (ProcessId)
- АктивноеОкно (ActiveWindow)
- АктивныйЭлемент (ActiveElement)
- ТекстБуфераОбмена (ClipboardText)
- КартинкаБуфераОбмена (ClipboardImage)
- ПозицияКурсора (CursorPos)
- Масштаб (ScaleFactor)
Работа с процессами:
- НайтиКлиентТестирования (FindTestClient)
- ПолучитьСписокПроцессов (GetProcessList)
- ПолучитьСвойстваПроцесса (GetProcessInfo)
- ВывестиВКонсоль (OutputToConsole)
- СоздатьПроцесс (CreateProcess)
- Пауза (Sleep)
Информация об окружении:
- ПолучитьСписокДисплеев (GetDisplayList)
- ПолучитьСвойстваДисплея (GetDisplayInfo)
- СвободноеМестоНаДиске (GetFreeDiskSpace)
Управление окном приложения:
- ПолучитьСписокОкон (GetWindowList)
- ПолучитьСвойстваОкна (GetWindowInfo)
- ПолучитьРазмерОкна (GetWindowSize)
- УстановитьРазмерОкна (SetWindowSize)
- УстановитьПозициюОкна (SetWindowPos)
- АктивироватьОкно (ActivateWindow)
- РаспахнутьОкно (MaximixeWindow)
- РазвернутьОкно (RestoreWindow)
- СвернутьОкно (MinimizeWindow)
Виртуальные рабочие столы (только для Windows):
- ПолучитьКоличествоРабочихСтолов (GetDesktopCount)
- ПолучитьТекущийРабочийСтол (GetCurrentDesktop)
- СоздатьРабочийСтол (CreateDesktop)
- УдалитьРабочийСтол (RemoveDesktop)
- ПереключитьРабочийСтол (GoToDesktop)
- ПолучитьРабочийСтолОкна (GetWindowDesktop)
- ПереместитьОкноНаРабочийСтол (MoveWindowToDesktop)
Автоматизация пользовательского интерфейса (только для Windows):
- ПолучитьЭлементы (GetElements)
- НайтиЭлементы (FindElements)
- ЭлементПоИдентификатору (GetElementById)
- ПолучитьРодителяЭлемента (GetParentElement)
- ПолучитьСледующийЭлемент (GetNextElement)
- ПолучитьПредыдущийЭлемент (GetPreviousElement)
- АктивироватьЭлемент (FocusElement)
- ВызватьЭлемент (InvokeElement)
- ПолучитьЗначениеЭлемента (GetElementValue)
- УстановитьЗначениеЭлемента (SetElementValue)
Эмуляция действий пользователя (только для Windows):
- ЭмуляцияДвиженияМыши (EmulateMouse)
- ЭмуляцияНажатияМыши (EmulateClick)
- ЭмуляцияДвойногоНажатия (EmulateDblClick)
- ЭмуляцияКолесаМыши (EmulateWheel)
- ЭмуляцияНажатияКлавиши (EmulateHotkey)
- ЭмуляцияПеретаскивания (DragAndDrop)
- ЭмуляцияВводаТекста (EmulateText)
Меотды компьютерного зрения:
Визуализация действий пользователя (только для Windows):
- ПоказатьНажатиеМыши (ShowClick)
- ВизуализацияНажатияМыши (VisualizeClick)
- ПоказатьВизуализациюНажатияМыши (ShowClickVisualization)
- ПрекратитьВизуализациюНажатияМыши (StopClickVisualization)
- НарисоватьПрямоугольник (DrawRectangle)
- НарисоватьЭллипс (DrawEllipse)
- НарисоватьСтрелку (DrawArrow)
- НарисоватьКривую (DrawBezier)
- НарисоватьТень (DrawShadow)
- ПоказатьПодсказку (ShowHint)
- ПоказатьУвеличение (ShowMagnifier)
- СкрытьУвеличение (HideMagnifier)
- МасштабироватьИзображение (ScaleImage)
- ПоказатьОкноПрерывания (ShowStopWindow)
- ЗакрытьОкноПрерывания (CloseStopWindow)
Воспроизведение мультимедиа файлов (только для Windows):
- ВоспроизвестиЗвук (PlaySound)
- ВоспроизвестиМедиа (PlayMedia)
- ВоспроизводитсяМедиа (PlayingMedia)
- ПрерватьМедиа (StopMedia)
- МедиаКоманда (MediaCommand)
Обмен данными по протоколу WebSocket:
- ОткрытьВебСокет (OpenWebSocket)
- ПослатьВебСокет (SendWebSocket)
- ЗакрытьВебСокет (CloseWebSocket)
- ВебСокет (WebSocket)
Захват изображения экрана:
- ПолучитьСнимокЭкрана (TakeScreenshot)
- ПолучитьСнимокОбласти (CaptureRegion)
- ПолучитьСнимокОкна (CaptureWindow)
- ПолучитьСнимокПроцесса (CaptureProcess)
Поиск файлов (только для Windows):
Тип значения: Строка (только чтение)
- Возвращает строку с текстом в формате JSON, при чтении которого получаем объект типа Структура с размерами экрана и рабочей области.
Тип значения: Строка (только чтение)
- Возвращает строку с текстом в формате JSON, при чтении которого получаем объект типа Массив из элементов типа Структура с размерами дисплеев мониторов.
Тип значения: Строка (только чтение)
- Возвращает строку с текстом в формате JSON, при чтении которого получаем объект типа Массив из элементов типа Структура с информацией об окнах верхнего уровня: дескриптор окна, диентификатор процесса, владелец, заголовок окна.
Тип значения: Целое число (только чтение)
- Возвращает идентификатор основного процесса приложения 1С, в сеансе которого вызывается внешняя компонента.
Тип значения: Целое число (чтение и запись)
- Дескриптор приоритетного окна (окна, с которым пользователь в настоящее время работает).
Тип значения: Строка (чтение и запись)
- Предоставляет доступ к содержимому буфера обмена в текстовом формате.
Тип значения: Двоичные данные (чтение и запись)
- Предоставляет доступ к содержимому буфера обмена в формате картинки PNG.
ПотокВПамяти = Новый ПотокВПамяти;
БиблиотекаКартинок.ДиалогИнформация.Записать(ПотокВПамяти);
ДвоичныеДанные = ПотокВПамяти.ЗакрытьИПолучитьДвоичныеДанные();
ВнешняяКомпонента.КартинкаБуфераОбмена = ДвоичныеДанные;
Возвращает текст в формате JSON, при чтении которого получаем объект типа Структура, сотдержащий информацию о клиенте тестирования, найденному по номеру порта, который присутствует в командной строке экземпляра клиента тестирования.
Параметры функции:
- НомерПорта (обязательный), Тип: Целое число
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем
объект типа Структура с подробной информацией о найденном процессе.
- ProcessId - идентификатор процесса (Число)
- CommandLine - командная строка процесса (Строка)
- CreationDate - дата старта процесса (Дата)
- Window - дескриптор основного окна (Число)
- Title - заголовок основного окна (Строка)
ТекстJSON = ВнешняяКомпонента.НайтиКлиентТестирования(ПортПодключения);
СтруктураСвойствПроцесса = ПрочитатьСтрокуJSON(ТекстJSON);
Если СтруктураСвойствПроцесса <> Неопределено Тогда
ИдентификаторПроцесса = СтруктураСвойствПроцесса.ProcessId;
ДескрипторОкна = СтруктураСвойствПроцесса.Window;
КонецЕсли;
Получает список запущенных процессов с возможностью отбора только процессов 1С. Отбор производится по наименованию исполняемого файла на соответствие маске "1cv8*".
Параметры функции:
- ИспользоватьОтбор (обязательный), Тип: Булево
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем типа Массив из элементов типа Структура информацией о процессах.
ТекстJSON = ВнешняяКомпонента.ПолучитьСписокПроцессов(Истина);
Для каждого Стр из ПрочитатьСтрокуJSON(ТекстJSON) Цикл
НоваяСтр = СписокПроцессов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтр, Стр);
КонецЦикла;
По идентификатору процесса возвращает всю доступную информацию о процессе.
Параметры функции:
- ИдентификаторПроцесса (обязательный), Тип: Целое число
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем
объект типа Структура с подробной информацией о процессе:
- ProcessId - идентификатор процесса (Число)
- CommandLine - командная строка процесса (Строка)
- CreationDate - дата старта процесса (Дата)
ТекстJSON = ВнешняяКомпонента.ПолучитьСвойстваПроцесса(ИдентификаторПроцесса);
СтруктураСвойстваПроцесса = ПрочитатьСтрокуJSON(ТекстJSON);
Выводит произвольный текст в консоль родительского процесса.
Параметры функции:
- Текст (обязательный), Тип: Строка
- Кодировка (необязательный), Тип: Целое число
- Кодировка текста при перенаправлении вывода в файл, по умолчанию 866.
Текст = "Привет! Проверка связи." + Символы.ПС;
ВнешняяКомпонента.ВывестиВКонсоль(Текст);
Выполняет запуск внешнего приложения или команды операционной системы.
Параметры функции:
- Команда (обязательный), Тип: Строка
- СкрытьОкно (необязательный), Тип: Булево
Тип возвращаемого значения: Целое число
- Идентификатор процесса внешнего приложения
При завершении работы приложения происходит генерация внешнего события.
КоманднаяСтрока = "ping 127.0.0.1";
PID = ВнешняяКомпонента.СоздатьПроцесс(КоманднаяСтрока, Истина);
Простейшая функция однократного обмена данными по протоколу WebSocket. Может использоваться для интеграции с браузером Google Chrome.
Параметры функции:
- Адрес (обязательный), Тип: Строка
- Команда (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит данные, полученные как ответ сервера WebSocket на отправленную команду.
АдресВебСокет = "ws://localhost:9222/devtools/page/771BF9AF6EE6F712337EF74397960652";
КомандаJSON = "{""id"":1,""method"":""Page.captureScreenshot"",""params"":{""format"":""png""}";
ТекстJSON = ВнешняяКомпонента.ВебСокет(АдресВебСокет, КомандаJSON);
ДанныеJSON = ПрочитатьСтрокуJSON(ТекстJSON);
ДвоичныеДанные = Base64Значение(ДанныеJSON.result.data);
Подробная информация о Chrome DevTools Protocol доступна по адресу:
Подключение к серверу WebSocket для начала многократного обмена данными. Может использоваться для интеграции с браузером Google Chrome.
Параметры функции:
- Адрес (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Пустая строка в случае успеха, либо сообщение об ошибке.
АдресВебСокет = "ws://localhost:9222/devtools/page/771BF9AF6EE6F712337EF74397960652";
Результат = ВнешняяКомпонента.ОткрытьВебСокет(АдресВебСокет);
Если Не ПустаяСтрока(Результат) Тогда
Сообщить(Результат);
КонецЕсли
Обмен данными по протоколу WebSocket: отправка пакета данных и получение результата. Может использоваться для интеграции с браузером Google Chrome.
Параметры функции:
- Команда (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит данные, полученные как ответ сервера WebSocket на отправленную команду.
КомандаJSON = "{""id"":1,""method"":""Page.captureScreenshot""}";
ТекстJSON = ВнешняяКомпонента.ПослатьВебСокет(КомандаJSON);
ДанныеJSON = ПрочитатьСтрокуJSON(ТекстJSON);
ДвоичныеДанные = Base64Значение(ДанныеJSON.result.data);
Закрытие открытого ранее соединения WebSocket.
Возвращаемое значение отсутствует.
ВнешняяКомпонента.ЗакрытьВебСокет();
Приостанавливает выполнение программного кода на заданное количество миллисекунд.
ВнешняяКомпонента.Пауза(1000);
По дескриптору окна получает список дисплеев, на которых располагается окно или его части.
Параметры функции:
- ДескрипторОкна (необязательный), Тип: Целое число Если параметр не задан, будет получена информация обо всех дисплеях.
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Массив из элементов типа Структура со свойствами дисплея: координаты границ, высота и ширина, наименование дисплея, координаты и размер рабочей области дисплея.
ТекстJSON = ВнешняяКомпонента.ПолучитьСписокДисплеев(ДескрипторОкна);
Для каждого ЭлементМассива из ПрочитатьСтрокуJSON(ТекстJSON) Цикл
ЗаполнитьЗначенияСвойств(СписокДисплеев.Добавить(), ЭлементМассива);
КонецЦикла;
По дескриптору окна получает свойства дисплея, на котором располагается наибольшая часть окна.
Параметры функции:
- ДескрипторОкна (необязательный), Тип: Целое число Если параметр не задан, будет получена информация для активного окна.
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура со свойствами дисплея: координаты границ, высота и ширина, наименование дисплея, координаты и размер рабочей области дисплея.
ТекстJSON = ВнешняяКомпонента.ПолучитьСвойстваДисплея(ДескрипторОкна);
СвойстваДисплея = ПрочитатьСтрокуJSON(ТекстJSON);
ВнешняяКомпонента.УстановитьПозициюОкна(ДескрипторОкна, СвойстваДисплея.Left, СвойстваДисплея.Top);
Возвращает текст в формате JSON, при чтении которого получаем объект типа Массив из элементов типа Структура с информацией об окнах, принадлежащих указанному процессу.
Параметры функции:
- ИдентификаторПроцесса (обязательный), Тип: Целое число
- Если параметр нулевой или не задан, возвращается список всех окон.
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект
типа Массив из элементов типа Структура с информацией о найденых окнах:
- Window - дескриптор окна (Число)
- ProcessId - идентификатор процесса (Число)
- Class - идентификатор класса окна (Строка)
- Title - заголовок окна (Строка)
- Owner - окно владелец (Число)
ТекстJSON = ВнешняяКомпонента.ПолучитьСписокОкон(ИдентификаторПроцесса);
МассивОкон = ПрочитатьСтрокуJSON(ТекстJSON);
ТаблицаОкон.Очистить();
Для каждого Стр из МассивОкон Цикл
ЗаполнитьЗначенияСвойств(ТаблицаОкон.Добавить(), Стр);
КонецЦикла;
Возвращает текст в формате JSON, при чтении которого получаем объект типа Структура с информацией об основных свойставх окна:
Параметры функции:
- ДескрипторОкна (обязательный), Тип: Целое число
- Если параметр нулевой, будут получены свойства активного окна.
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект
типа Структура с информацией об основных свойствах окна:
- Window - дескриптор окна (Число)
- ProcessId - идентификатор процесса (Число)
- Maximized - распахнуто, максимизировано (Булево)
- Class - идентификатор класса окна (Строка)
- Title - заголовок окна (Строка)
- Owner - окно владелец (Число)
ТекстJSON = ВнешняяКомпонента.ПолучитьСписокОкон(ИдентификаторПроцесса);
СвойстваОкна = ПрочитатьСтрокуJSON(ТекстJSON);
ЗаголовокОкна = СвойстваОкна.Title;
Возвращает текст в формате JSON, при чтении которого получаем объект объект типа Структура с информацией о размерах и позиции окна.
Параметры функции:
- ДескрипторОкна (обязательный), Тип: Целое число
- Если параметр нулевой, будут получены размеры активного окна.
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект
типа Структура с информацией о размерах и позиции окна:
- Left - левая граница (Число)
- Top - верхняя граница (Число)
- Right - правая граница (Число)
- Bottom - нижняя граница (Число)
- Width - ширина окна (Число)
- Height - высота высота (Число)
- Window - дескриптор окна (Число)
Активирует окно по дескриптору.
Параметры функции:
- ДескрипторОкна (обязательный), Тип: Целое число
ВнешняяКомпонента.АктивироватьОкно(ДескрипторОкна);
Распахиват (максимизирует) окно, разворачивая его на всё рабочую область экрана.
Параметры функции:
- ДескрипторОкна (обязательный), Тип: Целое число
ВнешняяКомпонента.РаспахнутьОкно(ДескрипторОкна);
Показывает окно в нормальном режиме отображения, если оно было свёрнуто или распахнуто.
Параметры функции:
- ДескрипторОкна (обязательный), Тип: Целое число
ВнешняяКомпонента.РазвернутьОкно(ДескрипторОкна);
Перемещает позицию курсора (мышки) в указанную точку экрана.
ВнешняяКомпонента.УстановитьПозициюКурсора(X, Y);
Осуществляет поиск фрагмента картинки, возвращает результат в формате JSON. Используются алгоритмы библиотеки OpenCV
Параметры процедуры:
- Картинка (обязательный), Тип: Двоичные данные
- Фрагмент (обязательный), Тип: Двоичные данные
- МетодПоиска (обязательный), Тип: Число (от 0 до 2)
- 0 - Соответствует значению TM_SQDIFF_NORMED
- 1 - Соответствует значению TM_CCORR_NORMED
- 2 - Соответствует значению TM_CCOEFF_NORMED
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект
типа Структура с информацией о размерах и позиции найденного фрагмента:
- Match - соответствие найденного фрагмента образцу (Число от 0 до 1)
- Left - левая граница (Число)
- Top - верхняя граница (Число)
- Right - правая граница (Число)
- Bottom - нижняя граница (Число)
- Width - ширина фрагмента (Число)
- Height - высота фрагмента (Число)
- X - координата центра (Число)
- Y - координата центра (Число)
ДанныеКартинки = Новый ДвоичныеДанные("C:\Demo\Picture.png");
ДанныеФрагмента = Новый ДвоичныеДанные("C:\Demo\Fragment.png");
ТекстJSON = ВнешняяКомпонента.НайтиФрагмент(ДанныеКартинки, ДанныеФрагмента);
Осуществляет поиск картинки на экране, возвращает результат в формате JSON. Используются алгоритмы библиотеки OpenCV
Параметры процедуры:
- Фрагмент (обязательный), Тип: Двоичные данные
- МетодПоиска (обязательный), Тип: Число (от 0 до 2)
- 0 - Соответствует значению TM_SQDIFF_NORMED
- 1 - Соответствует значению TM_CCORR_NORMED
- 2 - Соответствует значению TM_CCOEFF_NORMED
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект
типа Структура с информацией о размерах и позиции найденного фрагмента:
- Match - соответствие найденного фрагмента образцу (Число от 0 до 1)
- Left - левая граница (Число)
- Top - верхняя граница (Число)
- Right - правая граница (Число)
- Bottom - нижняя граница (Число)
- Width - ширина фрагмента (Число)
- Height - высота фрагмента (Число)
- X - координата центра (Число)
- Y - координата центра (Число)
ФрагментКартинки = Новый ДвоичныеДанные("C:\Demo\Fragment.png");
ТекстJSON = ВнешняяКомпонента.НайтиНаЭкране(ФрагментКартинки);
Плавно перемещает позицию курсора (мышки) в указанную точку экрана за обозначенное количество шагов, на каждом шаге производися задержка на указанное количество милисекунд.
ВнешняяКомпонента.ЭмуляцияДвиженияМыши(X, Y, 1000, 3);
Эмулирует нажатие левой кнопкой миши, плавно перемещает позицию курсора (мышки) в указанную точку экрана за обозначенное количество шагов, на каждом шаге производися задержка на указанное количество милисекунд и затем эмулирует отпускание левой кнопкой мыши, то есть выполняет перетаскивание.
ВнешняяКомпонента.ЭмуляцияПеретаскивания(X, Y, 1000, 3);
Эмулирует нажаите указанной кнопки мыши.
Параметры процедуры:
- КнопкаМыши (обязательный), Тип: Целое число
- 0 - Левая кнопка
- 1 - Правая кнопка
- 2 - Средняя кнопка
ВнешняяКомпонента.ЭмуляцияНажатияМыши(0);
Эмулирует нажаите левой кнопкой мыши.
Параметры процедуры:
- Задержка (необязательный), Тип: Целое число
- Задержка между нажатиями в милисекундах, по умолчанию 100.
ВнешняяКомпонента.ЭмуляцияДвойногоНажатия();
Эмулирует вращение колеса мыши.
Параметры процедуры:
- КнопкаМыши (обязательный), Тип: Целое число
- (+1) - Вращение вперёд
- (-1) - Вращение назад
ВнешняяКомпонента.ЭмуляцияКолесаМыши(1);
Эмулирует нажаите пользователем горячей клавиши. Параметры функции совместимы с типовым объектом СочетаниеКлавиш. Для вызова рекомендуется использовать следующий программный код.
СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F11, Ложь, Истина, Ложь);
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписатьXML(ЗаписьXML, СочетаниеКлавиш);
ТекстXML = ЗаписьXML.Закрыть();
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(ТекстXML);
ПостроительDOM = Новый ПостроительDOM;
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
КорневойУзел = ДокументDOM.ПервыйДочерний;
Для каждого ДочернийУзел из КорневойУзел.ДочерниеУзлы Цикл
Если ДочернийУзел.ИмяУзла = "vKey" Тогда
Клавиша = Число(ДочернийУзел.ТекстовоеСодержимое);
ИначеЕсли ДочернийУзел.ИмяУзла = "flags" Тогда
Флаги = Число(ДочернийУзел.ТекстовоеСодержимое);
КонецЕсли;
КонецЦикла;
ВнешняяКомпонента.ЭмуляцияНажатияКлавиши(Клавиша, Флаги);
Альтернативный вариант вызова функции, в первом параметра передаётся строка в формате JSON, представляющая собой массив с кодами виртуальных клавиш. Второй параметр при этом необязателен и игнорируется.
ТекстJSON = "[91, 69]"; // Win+E
ВнешняяКомпонента.ЭмуляцияНажатияКлавиши(ТекстJSON);
Эмулирует последовательный ввод пользователем текста.
ВнешняяКомпонента.ЭмуляцияВводаТекста("Текст коментария", 100);
Однократный показ визуального эффекта в виде расходящихся концентрических кругов, для демонстрации нажатия мыши пользователем.
Параметры процедуры:
- Цвет (необязательный), Тип: Целое число
- Радиус (необязательный), Тип: Целое число
- Толщина (необязательный), Тип: Целое число
- Задержка (необязательный), Тип: Целое число
- Прозрачность (необязательный), Тип: Целое число
ВнешняяКомпонента.ПоказатьНажатиеМыши(255, 30, 12, 12, 127);
Включение режима, при котором каждое нажатие мыши сопровождается визуальным эффектом в виде расходящихся концентрических кругов.
Параметры процедуры:
- Цвет (необязательный), Тип: Целое число
- Радиус (необязательный), Тип: Целое число
- Толщина (необязательный), Тип: Целое число
- Задержка (необязательный), Тип: Целое число
- Прозрачность (необязательный), Тип: Целое число
ВнешняяКомпонента.ВизуализацияНажатияМыши(255, 30, 12, 12, 127);
Однократный показ визуального эффекта в виде расходящихся концентрических кругов ко текущим координатам указателя мыши с текущими настройками, если включен режим визуализации.
ВнешняяКомпонента.ПоказатьВизуализациюНажатияМыши();
Отключение режима, при котором каждое нажатие мыши сопровождается визуальным эффектом.
ВнешняяКомпонента.ПрекратитьВизуализациюНажатияМыши();
Рисует на экране монитора прямоугольник заданного цвета и прозрачности. Параметры определяют также толщину контура и длительность отображения фигуры.
ЦветКакЧисло = Цвет.Красный + Цвет.Зеленый * 256 + Цвет.Синий * 65536;
ВремСтруктура = Новый Структура;
ВремСтруктура.Вставить("color", ЦветКакЧисло);
ВремСтруктура.Вставить("thickness", Толщина);
ВремСтруктура.Вставить("transparency", Прозрачность);
ВремСтруктура.Вставить("duration", Длительность);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Данные);
НастройкиРисования = ЗаписьJSON.Закрыть();
ВнешняяКомпонента.НачатьВызовНарисоватьПрямоугольник(
Новый ОписаниеОповещения, НастройкиРисования,
ПозицияСлева, ПозицияСверху, ШиринаФигуры, ВысотаФигуры);
Рисует на экране монитора эллипс заданного цвета и прозрачности. Параметры определяют также толщину контура и длительность отображения фигуры.
ВнешняяКомпонента.НачатьВызовНарисоватьЭллипс(
Новый ОписаниеОповещения, НастройкиРисования,
ПозицияСлева, ПозицияСверху, ШиринаФигуры, ВысотаФигуры);
Рисует между двумя точками на экране прямую стрелку заданного цвета и прозрачности. Параметры определяют толщину контура, анимацию и длительность отображения фигуры.
ВремСтруктура = Новый Структура;
ВремСтруктура.Вставить("color", ЦветКакЧисло);
ВремСтруктура.Вставить("thickness", Толщина);
ВремСтруктура.Вставить("transparency", Прозрачность);
ВремСтруктура.Вставить("frameCount", ЧислоКадровАнимации);
ВремСтруктура.Вставить("frameDelay", ЗадержкаАнимацииКадра);
ВремСтруктура.Вставить("duration", Длительность);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
НастройкиРисования = ЗаписатьJSON(ЗаписьJSON, Данные);
ВнешняяКомпонента.НачатьВызовНарисоватьСтрелку(
Новый ОписаниеОповещения, НастройкиРисования, x1, y1, x2, y2);
Рисует между двумя точками на экране искривленную стрелку заданного цвета и прозрачности. Параметры определяют толщину контура, анимацию и длительность отображения фигуры. Количество точек в массиве должно быть кратным (3 * N + 1).
МассивТочек = Новый Массив;
МассивТочек.Добавить(Новый Структура("x,y", 100, 500));
МассивТочек.Добавить(Новый Структура("x,y", 300, 500));
МассивТочек.Добавить(Новый Структура("x,y", 300, 700));
МассивТочек.Добавить(Новый Структура("x,y", 500, 700));
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ТекстJSON = ЗаписатьJSON(ЗаписьJSON, МассивТочек);
ВнешняяКомпонента.НачатьВызовНарисоватьСтрелку(
Новый ОписаниеОповещения, НастройкиРисования, ТекстJSON);
Отображает на экране видеоэффект затенения всего экрана за исключением определенной области. Оборажает подсказку и стрелку от текста подсказки к выделенной области.
ЦветКакЧисло = Цвет.Красный + Цвет.Зеленый * 256 + Цвет.Синий * 65536;
ВремСтруктура = Новый Структура;
ВремСтруктура.Вставить("color", ЦветКакЧисло);
ВремСтруктура.Вставить("thickness", Толщина);
ВремСтруктура.Вставить("transparency", Прозрачность);
ВремСтруктура.Вставить("duration", Длительность);
ВремСтруктура.Вставить("fontName", ШрифтНадписи.Имя);
ВремСтруктура.Вставить("fontSize", ШрифтНадписи.Размер);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Данные);
НастройкиРисования = ЗаписьJSON.Закрыть();
ВнешняяКомпонента.НачатьВызовНарисоватьТень(
Новый ОписаниеОповещения, НастройкиРисования,
ПозицияСлева, ПозицияСверху, ШиринаФигуры, ВысотаФигуры, ТекстПодсказки);
Отображает на экране видеоэффект подсказки для точки по указанным координатам.
ВремСтруктура = Новый Структура;
ВремСтруктура.Вставить("color", ЦветКакЧисло(ЦветКонтура));
ВремСтруктура.Вставить("background", ЦветКакЧисло(ЦветФона));
ВремСтруктура.Вставить("fontColor", ЦветКакЧисло(ЦветТекста));
ВремСтруктура.Вставить("fontName", ШрифтНадписи.Имя);
ВремСтруктура.Вставить("fontSize", ШрифтНадписи.Размер);
ВремСтруктура.Вставить("radius", РадиусЗакругления);
ВремСтруктура.Вставить("thickness", ТолщинаКонтура);
ВремСтруктура.Вставить("duration", Длительность);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Данные);
НастройкиРисования = ЗаписьJSON.Закрыть();
ВнешняяКомпонента.НачатьВызовПоказатьПодсказку(
Новый ОписаниеОповещения, НастройкиРисования,
ПозицияСлева, ПозицияСверху, ТекстПодсказки);
Воспроизводит WAV-файл синхронно или асинхронно. Вызов без параметров останавливает воспроизведение.
Параметры функции:
- ИмяФайла (необязательный), Тип: Строка
- Асинхронно (необязательный), Тип: Булево
Возвращаемое значение отсутствует.
ВнешняяКомпонента.ВоспроизвестиЗвук("sound.wav", Истина);
Воспроизводит мультимедиа файл в асинхронном режиме в отдельном потоке.
Параметры функции:
- ИмяФайла (обязательный), Тип: Строка
- Идентификатор (необязательный), Тип: Строка
Возвращаемое значение отсутствует.
Идентификатор = Строка(Новый УникальныйИдентификатор);
ВнешняяКомпонента.ВоспроизвестиМедиа("sound.mp3", Идентификатор);
Возвращает статус воспроизведения мультимедиа файла по его идентификатору.
Прерывает воспроизведение мультимедиа файла по его идентификатору.
Выполняет произвольную мультимедиа команду, возвращая результат в виде строки.
Параметры функции:
- Команда (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит данные, полученные как результат выполнения команды.
Получает снимок экрана или активного окна, в зависимости от переданного параметра.
Параметры функции:
- Режим (обязательный), Тип: Целое число
- 0 - Чтобы сделать снимок всего экрана
- 1 - Чтобы сделать снимок области активного окна
Тип возвращаемого значения: Двоичные данные
- Возвращает картинку в формате PNG.
ДвоичныеДанные = ВнешняяКомпонента.ПолучитьСнимокЭкрана(0);
Получает снимок области экрана по координатам.
Параметры функции:
- X (обязательный), Тип: Целое число (координата слева)
- Y (обязательный), Тип: Целое число (координата сверху)
- W (обязательный), Тип: Целое число (ширина области экрана)
- H (обязательный), Тип: Целое число (высота области экрана)
Тип возвращаемого значения: Двоичные данные
- Возвращает картинку в формате PNG.
ДвоичныеДанные = ВнешняяКомпонента.ПолучитьСнимокОбласти(200, 200, 800, 600);
Получает снимок произвольного окна по его дескриптору.
Параметры функции:
- ДескрипторОкна (обязательный), Тип: Целое число
- 0 - Чтобы сделать снимок активного окна
Тип возвращаемого значения: Двоичные данные
- Возвращает картинку в формате PNG.
ДвоичныеДанные = ВнешняяКомпонента.ПолучитьСнимокОкна(ДескрипторОкна);
Получает снимок верхнего окна экземпляра 1С:Предприятие по идентификатору процесса.
Параметры функции:
- ИдентификаторПроцесса (обязательный), Тип: Целое число
- Идентификатор процесса приложения 1С:Предприятие
Тип возвращаемого значения: Двоичные данные
- Возвращает картинку в формате PNG.
ДвоичныеДанные = ВнешняяКомпонента.ПолучитьСнимокПроцесса(ИдентификаторПроцесса);
Рекурсивный поиск файлов по маске и содержимому.
Параметры функции:
- Директория (обязательный), Тип: Строка
- Начальная директория для поиска файлов
- МаскаПоиска (обязательный), Тип: Строка
- Маска поиска файлов, например: *.txt
- ИскомыйТекст (обязательный), Тип: Строка
- Искомый тект для поиска по содержимому файла
- ИгнорироватьРегистр (необязательный), Тип: Строка
- Проверка на соответствие регистра искомого текста
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект
типа Массив из элементов типа Структура с информацией о найденых файлах:
- name - имя файла (Строка)
- path - полный путь файла (Строка)
- size - размер файла в байтах (Число)
- date - дата модификации файла (Дата)
ТекстJSON = ВнешняяКомпонента.НайтиФайлы(Директория, МаскаПоиска, ИскомыйТекст, ИгнорироватьРегистр);
Данные = ПрочитатьСтрокуJSON(ТекстJSON);
СписокФайлов.Очистить();
Если ТипЗнч(Данные) = Тип("Массив") Тогда
Для каждого Стр Из Данные Цикл
НоваяСтр = СписокФайлов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтр, Стр);
КонецЦикла;
КонецЕсли;
Очищает буфер обмена.
ВнешняяКомпонента.ОчиститьБуферОбмена();
Получает элементы UI Automation в виде древовидной структуры по идентификатору процесса, либо идентификатору родительского элемента. Второй параметр ограничивает грубину рекурсии получения дочерних элементов.
Параметры функции:
- ИдентификаторПроцесса (обязательный), Тип: Целое число
- Глубина (необязательный), Тип: Целое число
Вариант вызова функции:
- ИдентификаторРодителя (обязательный), Тип: Строка
- Глубина (необязательный), Тип: Целое число
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем массив объектов типа Структура, каждый из которых также может содержать массив дочерних элементов.
ТекстJSON = ВнешняяКомпонента.ПолучитьЭлементы(ИдентификаторПроцесса);
Осуществляет поиск элементов UI Automation по условиям отбора.
Параметры функции:
- УсловиеОтбора (обязательный), Тип: Строка формата JSON
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем массив объектов типа Структура, содержащий свойства найденных элементов.
ВремСтруктура = Новый Структура;
ВремСтруктура.Вставить("ProcessId", ИдентификаторПроцесса);
ВремСтруктура.Вставить("Parent", ИдентификаторРодителя);
ВремСтруктура.Вставить("Name", ИмяЭлемента);
ВремСтруктура.Вставить("ControlType", "Button");
ВремСтруктура.Вставить("LegacyIAccessibleHelp", "Расширенная подсказка элемента");
ВремСтруктура.Вставить("LegacyIAccessibleKeyboardShortcut", "F12");
УсловиеОтбора = ЗаписатьСтрокуJSON(ВремСтруктура);
ТекстJSON = ВнешняяКомпонента.НайтиЭлементы(УсловиеОтбора);
Получает элемент UI Automation по его идентификатору. Идентификатор элемента уникален для каждого экземпляра приложения.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура, содержащий свойства полученного элемента.
ТекстJSON = ВнешняяКомпонента.ЭлементПоИдентификатору(ИдентификаторЭлемента);
Получает UI Automation по идентификатору элемента его родительский элемент. Идентификатор элемента уникален для каждого экземпляра приложения.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура, содержащий свойства полученного родительского элемента.
ТекстJSON = ВнешняяКомпонента.ПолучитьРодителяЭлемента(ИдентификаторЭлемента);
Получает по идентификатору элемента следующий ближайший соседний элемент UI Automation в пределах подчинения одному общему родителю.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура, содержащий свойства полученного соседнего элемента.
ТекстJSON = ВнешняяКомпонента.ПолучитьСледующийЭлемент(ИдентификаторЭлемента);
Получает по идентификатору элемента предыдущий ближайший соседний элемент UI Automation в пределах подчинения одному общему родителю.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура, содержащий свойства полученного соседнего элемента.
ТекстJSON = ВнешняяКомпонента.ПолучитьПредыдущийЭлемент(ИдентификаторЭлемента);
Активирует элемент UI Automation по его идентификатору.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура, содержащий свойства полученного элемента.
ВнешняяКомпонента.АктивироватьЭлемент(ИдентификаторЭлемента);
Выполняет действие по умолчанию (обычно это нажатие на кнопку) для элемента UI Automation.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Содержит строку с текстом в формате JSON, при чтении которого получаем объект типа Структура, содержащий свойства полученного элемента.
ВнешняяКомпонента.ВызватьЭлемент(ИдентификаторЭлемента);
Получает значение для элемента UI Automation.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
Тип возвращаемого значения: Строка
- Возвращает значение элемента.
ЗначениеЭлемента = ВнешняяКомпонента.ПолучитьЗначениеЭлемента(ИдентификаторЭлемента);
Устанавливает значение для элемента UI Automation.
Параметры функции:
- ИдентификаторЭлемента (обязательный), Тип: Строка
- НовоеЗначение (обязательный), Тип: Строка
ВнешняяКомпонента.УстановитьЗначениеЭлемента(ИдентификаторЭлемента, НовоеЗначение);
Показывает независимое окно для прерывания пользователем продолжительных действий.
Параметры процедуры:
- Параметры (обязательный), Тип: Строка
- Заголовок (обязательный), Тип: Строка
- Надпись (обязательный), Тип: Строка
ВремСтруктура = Новый Структура;
ВремСтруктура.Вставить("identifier", Строка(УникальныйИдентификатор));
ВремСтруктура.Вставить("color", ЦветКакЧисло(ЦветКонтура));
ВремСтруктура.Вставить("background", ЦветКакЧисло(ЦветФона));
ВремСтруктура.Вставить("buttonColor", ЦветКакЧисло(ЦветКнопки));
ВремСтруктура.Вставить("iconColor", ЦветКакЧисло(ЦветИконки));
ВремСтруктура.Вставить("fontColor", ЦветКакЧисло(ЦветТекста));
ВремСтруктура.Вставить("fontName", ШрифтНадписи.Имя);
ВремСтруктура.Вставить("fontSize", ШрифтНадписи.Размер);
ВремСтруктура.Вставить("transparency", Прозрачность);
ВремСтруктура.Вставить("thickness", ТолщинаКонтура);
ТекстJSON = ЗаписатьСтрокуJSON(ВремСтруктура);
ВнешняяКомпонента.ПоказатьОкноПрерывания(ТекстJSON, ТекстНадписи, "Стоп");
Закрывает открытое ранее окно прерывания продолжительных действий.
ВнешняяКомпонента.ЗакрытьОкноПрерывания();