Перейти к основному содержимому

Сигнатуры встроенных функций

Все встроенные функции, сгруппированные по областям. В каждой строке по порядку указаны имена и типы параметров и тип возвращаемого значения. Пометка Простой отмечает встроенные функции, доступные в простом режиме интерфейса настройки. Ссылка Примеры оставляет в библиотеке примеров только скрипты, вызывающие эту встроенную функцию. Всплывающая подсказка автодополнения в редакторе показывает те же сигнатуры.

AutoHotkey​

AutoHotkeyExecuteScript​

AutoHotkeyExecuteScript(script: Text) → Integer · Простой

Выполняет код AutoHotkey v2 с помощью программы AutoHotkey, указанной в настройках, и ждёт её завершения. Контекст триггера передаётся в виде переменных, а строки вывода печатаются с префиксом AHK:.

Параметры

  • script: Text — Текст скрипта AutoHotkey v2 для выполнения. Остановка действия завершает процесс AutoHotkey.

Возвращает

Код завершения AutoHotkey или -1, если поддержка AutoHotkey отключена, путь к программе не задан или не найден либо программу не удалось запустить.

1 пример: Передать работу AutoHotkey

Capture​

CaptureSaveRegion​

CaptureSaveRegion(fileName: Text, x: Integer, y: Integer, width: Integer, height: Integer) → Bool

Захватывает прямоугольную область экрана и сохраняет её в файл изображения. Сначала убирает с экрана собственные след жеста и подсказку этого приложения, ожидая этого до 250 миллисекунд.

Параметры

  • fileName: Text — Путь к записываемому файлу изображения. Его расширение (.bmp, .png, .jpg или .jpeg) определяет формат. Существующий файл перезаписывается; отсутствующие папки не создаются.
  • x: Integer — Левый край прямоугольника в пикселях экрана.
  • y: Integer — Верхний край прямоугольника в пикселях экрана.
  • width: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • height: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.

Возвращает

true, если файл изображения записан; false, если width или height не положительны, захват не удался или файл не удалось записать. Если fileName не оканчивается на .bmp, .png, .jpg или .jpeg, скрипт останавливается с ошибкой.

1 пример: Снимок обведённой области

CaptureShowImage​

CaptureShowImage(fileName: Text) → Bool

Показывает файл изображения в исходном размере в окне предпросмотра без рамки поверх всех окон, по центру монитора под курсором. Перетащите окно, чтобы переместить его, дважды щёлкните, чтобы закрыть, или щёлкните правой кнопкой мыши для команд «Копировать», «Сохранить» и «Закрыть».

Параметры

  • fileName: Text — Путь к показываемому файлу .bmp, .png, .jpg или .jpeg.

Возвращает

true, если изображение загружено и его окно предпросмотра открывается; false, если файл отсутствует или не является читаемым изображением. Если fileName не оканчивается на .bmp, .png, .jpg или .jpeg, скрипт останавливается с ошибкой.

CaptureShowRegion​

CaptureShowRegion(x: Integer, y: Integer, width: Integer, height: Integer) → Bool

Захватывает прямоугольную область экрана и показывает копию в окне предпросмотра без рамки поверх всех окон, расположенном точно над этой областью. Сначала убирает собственные след жеста и подсказку этого приложения, ожидая до 250 миллисекунд.

Параметры

  • x: Integer — Левый край прямоугольника в пикселях экрана.
  • y: Integer — Верхний край прямоугольника в пикселях экрана.
  • width: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • height: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.

Возвращает

true, если захват удался и его окно предпросмотра открывается; false, если width или height не положительны или экран не удалось захватить.

Clipboard​

ClipboardClear​

ClipboardClear() → Bool

Очищает буфер обмена, удаляя текст, изображения и все прочие форматы, ничего нового в него не помещая.

Параметры

Без параметров.

Возвращает

true, если буфер обмена очищен; false, если буфер обмена был занят другой программой.

1 пример: Перевести выделенный текст в верхний регистр

ClipboardCopySelection​

ClipboardCopySelection(timeoutMs: Integer) → Text · Простой

Отправляет Ctrl+C активному окну и возвращает скопированный текст, предварительно дождавшись отпускания клавиш Ctrl, Shift, Alt и Windows. Копирование заменяет содержимое буфера обмена; чтобы сохранить его, используйте ClipboardSave и ClipboardRestore.

Параметры

  • timeoutMs: Integer — Общее время ожидания отпускания клавиш и поступления скопированных данных в миллисекундах, от 0 до 60000. Большие значения считаются равными 60000. Для большинства программ подходит 1000.

Возвращает

Скопированный текст или пустой текст, если до истечения timeoutMs клавиши так и не были отпущены, ничего не скопировано (нет выделения) или скопированные данные не содержат текста.

1 пример: Найти выделенный текст в интернете

ClipboardGetHtml​

ClipboardGetHtml() → Text

Возвращает HTML из буфера обмена, например то, что помещает туда браузер при копировании части веб-страницы.

Параметры

Без параметров.

Возвращает

Скопированный фрагмент HTML без HTML-заголовка буфера обмена или пустой текст, если в буфере обмена нет HTML или он занят.

ClipboardGetRtf​

ClipboardGetRtf() → Text

Возвращает форматированный текст (RTF) из буфера обмена, например то, что помещает туда текстовый редактор при копировании форматированного текста.

Параметры

Без параметров.

Возвращает

Разметка RTF в виде текста или пустой текст, если в буфере обмена нет RTF или он занят.

ClipboardGetSequenceNumber​

ClipboardGetSequenceNumber() → Integer

Возвращает число, которое Windows изменяет при каждом изменении содержимого буфера обмена. Прочитайте его перед действием, которое должно что-то скопировать, затем сравните, чтобы узнать, что копирование завершилось.

Параметры

Без параметров.

Возвращает

Текущий порядковый номер буфера обмена. Значение имеет только изменение номера, а не само значение.

ClipboardGetText​

ClipboardGetText() → Text · Простой

Возвращает обычный текст, находящийся сейчас в буфере обмена. Форматирование, изображения и файлы в буфере обмена игнорируются.

Параметры

Без параметров.

Возвращает

Текст из буфера обмена или пустой текст, если в буфере обмена нет текста или он занят другой программой.

6 примеров: Извлечь значение из скопированного текста регулярным выражением, Подсчитать слова в буфере обмена, Объединить строки из буфера обмена в одну, Сегодняшняя дата и имя файла с отметкой времени, Перевести выделенный текст в верхний регистр, Найти выделение в интернете

ClipboardLoadImage​

ClipboardLoadImage(path: Text) → Bool

Загружает файл изображения и помещает его в буфер обмена вместо текущего содержимого, чтобы его можно было вставить в другие программы. Прозрачные области PNG становятся белыми.

Параметры

  • path: Text — Полный путь к файлу изображения с расширением .bmp, .png, .jpg или .jpeg. Любое другое расширение останавливает скрипт с ошибкой.

Возвращает

true, если изображение помещено в буфер обмена; false, если файл отсутствует, не является читаемым изображением или буфер обмена занят.

ClipboardPasteReplacementText​

ClipboardPasteReplacementText(text: Text) → Bool · Простой

Помещает текст в буфер обмена и отправляет Ctrl+V, чтобы вставить его в активное окно. Не ждёт завершения вставки, поэтому перед ClipboardRestore ненадолго подождите с помощью UtilityWait.

Параметры

  • text: Text — Вставляемый текст.

Возвращает

true, если буфер обмена заполнен и Ctrl+V отправлено; false, если буфер обмена был занят или Windows заблокировала нажатия клавиш.

2 примера: Заполнить шаблон и вставить его, Перевести выделенный текст в верхний регистр

ClipboardRestore​

ClipboardRestore() → Bool

Возвращает в буфер обмена содержимое, сохранённое последним вызовом ClipboardSave в этом запуске скрипта, во всех форматах. Если в этом запуске ClipboardSave не вызывалась, очищает буфер обмена.

Параметры

Без параметров.

Возвращает

true, если всё сохранённое возвращено; false, если буфер обмена был занят или какой-либо формат не удалось восстановить.

5 примеров: Заполнить шаблон и вставить его, Найти выделенный текст в интернете, Перевести выделенный текст в верхний регистр, Найти выделение в интернете, Пусть участок выполняет только одно действие за раз

ClipboardSave​

ClipboardSave() → Bool

Сохраняет копию всего содержимого буфера обмена во всех форматах, чтобы ClipboardRestore могла позже вернуть его в том же запуске скрипта. Повторный вызов заменяет сохранённую копию.

Параметры

Без параметров.

Возвращает

true, если буфер обмена прочитан; false, если он был занят другой программой.

5 примеров: Заполнить шаблон и вставить его, Найти выделенный текст в интернете, Перевести выделенный текст в верхний регистр, Найти выделение в интернете, Пусть участок выполняет только одно действие за раз

ClipboardSaveImage​

ClipboardSaveImage(path: Text) → Bool

Сохраняет изображение из буфера обмена, например снимок экрана, сделанный клавишей Print Screen, в файл в формате, заданном расширением файла. Существующий файл перезаписывается.

Параметры

  • path: Text — Полный путь к записываемому файлу с расширением .bmp, .png, .jpg или .jpeg. Любое другое расширение останавливает скрипт с ошибкой.

Возвращает

true, если файл записан; false, если в буфере обмена нет изображения или файл не удалось записать.

1 пример: Сохранить скопированное изображение в файл

ClipboardSetHtml​

ClipboardSetHtml(html: Text) → Bool

Помещает фрагмент HTML в буфер обмена вместо текущего содержимого, чтобы при вставке в письмо или текстовый редактор сохранялось форматирование. Также добавляется копия в виде обычного текста без тегов — для программ, которые вставляют только текст.

Параметры

  • html: Text — Помещаемый фрагмент HTML, например текст <b>bold</b>. Не добавляйте HTML-заголовок буфера обмена: он добавляется автоматически.

Возвращает

true, если HTML и его копия в виде обычного текста помещены в буфер обмена; false, если буфер обмена был занят.

ClipboardSetRtf​

ClipboardSetRtf(rtf: Text) → Bool

Помещает форматированный текст (RTF) в буфер обмена вместо текущего содержимого, чтобы при вставке в WordPad, Word или Outlook сохранялось форматирование. Также добавляется копия слов в виде обычного текста — для программ, которые вставляют только текст.

Параметры

  • rtf: Text — Полный документ RTF в виде текста. Любой символ можно вводить напрямую; символы за пределами обычного ASCII автоматически записываются как escape-последовательности Юникода RTF.

Возвращает

true, если RTF и его копия в виде обычного текста помещены в буфер обмена; false, если буфер обмена был занят.

ClipboardSetText​

ClipboardSetText(text: Text) → Bool · Простой

Помещает текст в буфер обмена вместо того, что там находится, чтобы его можно было вставить в любую программу.

Параметры

  • text: Text — Текст, помещаемый в буфер обмена.

Возвращает

true, если текст помещён в буфер обмена; false, если буфер обмена был занят другой программой.

2 примера: Извлечь значение из скопированного текста регулярным выражением, Объединить строки из буфера обмена в одну

Context​

ContextGetActionName​

ContextGetActionName() → Text

Возвращает имя выполняемого действия. Для глобального события возвращается Global_Event_, за которым следует идентификатор события, например Global_Event_release.

Параметры

Без параметров.

Возвращает

Имя действия, имя вида Global_Event_ для глобального события или пустой текст в скрипте таймера, отслеживания папки или монитора последовательного порта.

1 пример: Всё, что знает контекст триггера

ContextGetApplicationName​

ContextGetApplicationName() → Text

Возвращает имя группы приложений, действие которой выполняется, если действие запущено жестом, горячей клавишей или раскрытием текста.

Параметры

Без параметров.

Возвращает

Имя группы приложений (обычно Global для глобальной группы) или пустой текст для глобального события, таймера, отслеживания папки или скрипта монитора последовательного порта.

4 примера: Заполнить шаблон и вставить его, Всё, что знает контекст триггера, Пропустить нераспознанный рисунок, Дописать в файл журнала

ContextGetBoundingBoxHeight​

ContextGetBoundingBoxHeight() → Integer

Возвращает высоту прямоугольника, охватывающего весь нарисованный жест, в пикселях. Вне жеста возвращает 0.

Параметры

Без параметров.

Возвращает

Высота в пикселях или 0 вне жеста.

2 примера: Всё, что знает контекст триггера, Снимок обведённой области

ContextGetBoundingBoxWidth​

ContextGetBoundingBoxWidth() → Integer

Возвращает ширину прямоугольника, охватывающего весь нарисованный жест, в пикселях. Вне жеста возвращает 0.

Параметры

Без параметров.

Возвращает

Ширина в пикселях или 0 вне жеста.

2 примера: Всё, что знает контекст триггера, Снимок обведённой области

ContextGetBoundingBoxX​

ContextGetBoundingBoxX() → Integer

Возвращает левый край прямоугольника, охватывающего весь нарисованный жест, в пикселях виртуального экрана. Вне жеста возвращает 0.

Параметры

Без параметров.

Возвращает

Левый край в пикселях виртуального экрана или 0 вне жеста.

2 примера: Всё, что знает контекст триггера, Снимок обведённой области

ContextGetBoundingBoxY​

ContextGetBoundingBoxY() → Integer

Возвращает верхний край прямоугольника, охватывающего весь нарисованный жест, в пикселях виртуального экрана. Вне жеста возвращает 0.

Параметры

Без параметров.

Возвращает

Верхний край в пикселях виртуального экрана или 0 вне жеста.

2 примера: Всё, что знает контекст триггера, Снимок обведённой области

ContextGetButtonState​

ContextGetButtonState() → Text

Возвращает, сработало ли глобальное событие кнопки мыши при нажатии кнопки или при её отпускании. Значение получает только скрипт глобального события кнопки мыши.

Параметры

Без параметров.

Возвращает

'down' для нажатия, 'up' для отпускания или пустой текст для любого другого триггера, включая жест.

ContextGetControl​

ContextGetControl() → Window

Возвращает именно тот элемент управления, на который был направлен триггер, например поле ввода под жестом или мышью, либо окно, имевшее фокус при горячей клавише или раскрытии текста. Окно его приложения возвращает ContextGetWindow.

Параметры

Без параметров.

Возвращает

Элемент управления в виде Window или нулевое окно, если у триггера нет окна, как в скрипте таймера, отслеживания папки, монитора последовательного порта или Load.

ContextGetGestureName​

ContextGetGestureName() → Text

Возвращает имя жеста, нарисованного для запуска этого действия. Это собственное имя жеста, а не действия; см. ContextGetActionName.

Параметры

Без параметров.

Возвращает

Имя жеста или пустой текст вне жеста.

2 примера: Всё, что знает контекст триггера, Дописать в файл журнала

ContextGetPointCount​

ContextGetPointCount() → Integer

Возвращает количество позиций курсора, записанных вдоль нарисованного жеста. Каждую из них можно прочитать с помощью ContextGetPointX и ContextGetPointY.

Параметры

Без параметров.

Возвращает

Количество точек или 0 вне жеста.

3 примера: Длина штриха жеста, Всё, что знает контекст триггера, В какую сторону шёл штрих?

ContextGetPointX​

ContextGetPointX(index: Integer) → Integer

Возвращает горизонтальную позицию на экране одной записанной точки нарисованного жеста в пикселях виртуального экрана.

Параметры

  • index: Integer — Номер точки, начиная с нуля, от 0 до ContextGetPointCount() минус 1. Точка 0 — место начала жеста.

Возвращает

Координата x или 0, если index вне диапазона или действие запущено не жестом.

2 примера: Длина штриха жеста, В какую сторону шёл штрих?

ContextGetPointY​

ContextGetPointY(index: Integer) → Integer

Возвращает вертикальную позицию на экране одной записанной точки нарисованного жеста в пикселях виртуального экрана.

Параметры

  • index: Integer — Номер точки, начиная с нуля, от 0 до ContextGetPointCount() минус 1. Точка 0 — место начала жеста.

Возвращает

Координата y или 0, если index вне диапазона или действие запущено не жестом.

2 примера: Длина штриха жеста, В какую сторону шёл штрих?

ContextGetSerialMonitorName​

ContextGetSerialMonitorName() → Text

Возвращает имя монитора последовательного порта, принятая строка которого запустила этот скрипт, в том виде, в каком оно передано в SerialMonitorCreate. Значение получает только скрипт монитора последовательного порта.

Параметры

Без параметров.

Возвращает

Имя монитора или пустой текст для любого другого триггера.

ContextGetSerialPortName​

ContextGetSerialPortName() → Text

Возвращает COM-порт, например COM3, через который пришла принятая строка. Значение получает только скрипт монитора последовательного порта.

Параметры

Без параметров.

Возвращает

Имя порта или пустой текст для любого другого триггера.

ContextGetSerialTextLine​

ContextGetSerialTextLine() → Text

Возвращает строку текста, которая пришла через последовательный порт и запустила этот скрипт, например показание датчика, отправленное Arduino с помощью Serial.println. Символы конца строки удаляются.

Параметры

Без параметров.

Возвращает

Принятая строка без символов конца строки или пустой текст для любого другого триггера.

2 примера: Кнопки устройства на COM-порту как мультимедийные клавиши, Ручка Arduino как регулятор громкости

ContextGetStrokeButton​

ContextGetStrokeButton() → Integer

Возвращает кнопку мыши, которой нарисован жест или которая вызвала глобальное событие кнопки мыши, в виде константы MouseButton: MouseButton.Primary или MouseButton.Secondary — для кнопок, которые Windows считает левым и правым щелчком с учётом смены основной и дополнительной кнопок, иначе MouseButton.Middle, MouseButton.X1 или MouseButton.X2. Передайте её в MouseClick или MouseButtonDown, чтобы нажать ту же кнопку.

Параметры

Без параметров.

Возвращает

Значение MouseButton, например MouseButton.Secondary, или -1 для любого другого триггера.

2 примера: Всё, что знает контекст триггера, Ветвление по кнопке штриха

ContextGetWatchAction​

ContextGetWatchAction() → Text

Возвращает, что произошло в отслеживаемой папке и запустило этот скрипт: 'created', 'deleted', 'modified', 'renamed-old-name', 'renamed-new-name' или 'overflow'.

Параметры

Без параметров.

Возвращает

Вид изменения или пустой текст для любого другого триггера. 'overflow' означает, что одновременно пришло слишком много изменений и папку нужно проверить заново.

1 пример: Отслеживать папку

ContextGetWatchName​

ContextGetWatchName() → Text

Возвращает имя отслеживания папки, запустившего этот скрипт, в том виде, в каком оно передано в FolderWatchCreate. Значение получает только скрипт отслеживания папки.

Параметры

Без параметров.

Возвращает

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

ContextGetWatchPath​

ContextGetWatchPath() → Text

Возвращает путь к изменившемуся файлу или папке, запустившим этот скрипт отслеживания папки, относительно отслеживаемой папки.

Параметры

Без параметров.

Возвращает

Путь к изменившемуся элементу относительно отслеживаемой папки или пустой текст для изменения 'overflow' или любого другого триггера.

1 пример: Отслеживать папку

ContextGetWindow​

ContextGetWindow() → Window

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

Параметры

Без параметров.

Возвращает

Окно или нулевое окно, если у триггера нет окна, как в скрипте таймера, отслеживания папки, монитора последовательного порта или Load.

16 примеров: Один жест, несколько вариантов, Переключить развёртывание окна жеста, Закрепить окно поверх остальных, Циклически менять прозрачность окна, Поместить окно в ячейку сетки 3×2 под курсором, Перебросить окно на следующий монитор, Запомнить и восстановить положение окна, Исследовать дочерние элементы управления окна, Спрятать окно в трей, Всё, что знает контекст триггера, Ветвление по кнопке штриха, Ограничить курсор окном на 5 секунд, Другое поведение, пока удерживается Ctrl, Список в Storage, Отправить окно на определённый монитор, Фрагменты как повторно используемые функции

ContextRelayGesture​

ContextRelayGesture() → Bool

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

Параметры

Без параметров.

Возвращает

true, если перетаскивание отправлено полностью; false вне жеста или если Windows отклонила часть ввода.

1 пример: Пропустить нераспознанный рисунок

DateTime​

DateTimeFormat​

DateTimeFormat(iso: Text, style: Integer) → Text · Простой

Форматирует дату и время как читаемый текст в региональном формате пользователя или как сортируемую метку FileStamp. Время с Z или смещением UTC сначала переводится в местное время.

Параметры

  • iso: Text — Дата и время в формате ISO 8601, как их возвращает DateTimeGetNow (2026-10-05T14:05:09-04:00). Дата без времени означает полночь; без Z или смещения время считается местным. Годы с 1601 по 9999.
  • style: Integer — Константа DateTimeStyle, например DateTimeStyle.ShortDate, DateTimeStyle.LongDateTime или DateTimeStyle.FileStamp. Любое другое значение останавливает действие с ошибкой.

Возвращает

Отформатированный текст, например 20261005-140509 для DateTimeStyle.FileStamp, или пустой текст, если iso пуст. Текст не в формате ISO 8601 останавливает действие с ошибкой.

1 пример: Сегодняшняя дата и имя файла с отметкой времени

DateTimeGetNow​

DateTimeGetNow() → Text · Простой

Возвращает текущие местные дату и время в виде текста ISO 8601 с точностью до секунды и со смещением UTC. Передайте результат в DateTimeFormat или DateTimeGetPart.

Параметры

Без параметров.

Возвращает

Текст вида 2026-10-05T14:05:09-04:00 или пустой текст, если Windows не может сообщить часовой пояс.

1 пример: Сегодняшняя дата и имя файла с отметкой времени

DateTimeGetPart​

DateTimeGetPart(iso: Text, part: Integer) → Integer

Возвращает одну часть даты и времени в виде числа: год, месяц, день, час, минуту, секунду или день недели по местному времени.

Параметры

  • iso: Text — Дата и время в формате ISO 8601, как их возвращает DateTimeGetNow. Время с Z или смещением UTC переводится в местное время; без них время считается местным.
  • part: Integer — Константа DateTimePart, например DateTimePart.Hour или DateTimePart.Weekday. Любое другое значение останавливает действие с ошибкой.

Возвращает

Значение части: месяц от 1 до 12, час от 0 до 23, день недели от 1 (понедельник) до 7 (воскресенье). -1, если iso пуст. Текст не в формате ISO 8601 останавливает действие с ошибкой.

1 пример: Сегодняшняя дата и имя файла с отметкой времени

Display​

DisplayGetMonitorDpiFromPoint​

DisplayGetMonitorDpiFromPoint(x: Integer, y: Integer) → Integer

Возвращает DPI, который Windows сейчас использует для монитора, содержащего точку экрана. Для точки вне всех мониторов используется ближайший монитор.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.

Возвращает

DPI, например 96 при масштабе 100 процентов или 144 при 150 процентах. Если Windows не может его сообщить — системный DPI.

DisplayGetPixelColorFromPoint​

DisplayGetPixelColorFromPoint(x: Integer, y: Integer) → Integer

Возвращает цвет пикселя экрана в точке в том виде, в каком он сейчас отображается на мониторе.

Параметры

  • x: Integer — Горизонтальная позиция пикселя на экране в пикселях.
  • y: Integer — Вертикальная позиция пикселя на экране в пикселях.

Возвращает

Цвет в виде Integer, упакованного как 0xRRGGBB (красный в старшем байте, синий в младшем), или -1, если точка вне всех мониторов или экран не удаётся прочитать.

1 пример: Прочитать цвет пикселя под курсором

DisplayMonitorEnumeratedAll​

DisplayMonitorEnumeratedAll() → Integer

Делает снимок всех подключённых мониторов, упорядоченных слева направо, затем сверху вниз, чтобы встроенные функции DisplayMonitorGetEnumerated читали их по индексу. После изменения мониторов вызовите её снова.

Параметры

Без параметров.

Возвращает

Количество мониторов в снимке. Допустимые индексы — от 0 до этого числа минус 1.

2 примера: Список мониторов, Отправить окно на определённый монитор

DisplayMonitorExistsByName​

DisplayMonitorExistsByName(name: Text) → Bool

Проверяет, подключён ли сейчас монитор, сохранённый по имени. Используйте её перед встроенными функциями прямоугольника FromName, которые возвращают 0 как для отсутствующего монитора, так и для настоящей координаты 0.

Параметры

  • name: Text — Путь к устройству монитора (надёжный вариант, из DisplayMonitorGetDevicePathFromPoint) или название модели, например DELL U2720Q. Регистр не учитывается; точное совпадение пути к устройству имеет приоритет над названием модели.

Возвращает

true, если имени соответствует подключённый монитор; false, если такого нет или name пусто.

DisplayMonitorGetDevicePathFromPoint​

DisplayMonitorGetDevicePathFromPoint(x: Integer, y: Integer) → Text

Возвращает путь к устройству монитора, содержащего точку экрана: уникальное имя, которое можно сохранить и позже передать встроенным функциям FromName. Оно меняется, если монитор подключить к другому видеопорту.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.

Возвращает

Путь к устройству или пустой текст, если Windows не может определить монитор. Для точки вне всех мониторов используется ближайший монитор.

DisplayMonitorGetEnumeratedDevicePathAt​

DisplayMonitorGetEnumeratedDevicePathAt(index: Integer) → Text

Возвращает путь к устройству (уникальное имя для сохранения) монитора из последнего снимка DisplayMonitorEnumeratedAll.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).

Возвращает

Путь к устройству или пустой текст, если index вне диапазона или мониторы изменились после снимка.

DisplayMonitorGetEnumeratedDpiAt​

DisplayMonitorGetEnumeratedDpiAt(index: Integer) → Integer

Возвращает DPI монитора из последнего снимка DisplayMonitorEnumeratedAll в том виде, в каком он был на момент снимка.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).

Возвращает

DPI, например 96 при масштабе 100 процентов или 144 при 150 процентах, или 0, если index вне диапазона.

1 пример: Список мониторов

DisplayMonitorGetEnumeratedFriendlyNameAt​

DisplayMonitorGetEnumeratedFriendlyNameAt(index: Integer) → Text

Возвращает название модели, которое сообщает монитор из последнего снимка DisplayMonitorEnumeratedAll, например DELL U2720Q. Два одинаковых монитора сообщают одно и то же название.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).

Возвращает

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

1 пример: Список мониторов

DisplayMonitorGetEnumeratedHeightAt​

DisplayMonitorGetEnumeratedHeightAt(index: Integer, workArea: Bool) → Integer

Возвращает высоту монитора из последнего снимка DisplayMonitorEnumeratedAll — всей его области или рабочей области — в том виде, в каком она была на момент снимка.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Высота в пикселях или 0, если index вне диапазона.

1 пример: Список мониторов

DisplayMonitorGetEnumeratedWidthAt​

DisplayMonitorGetEnumeratedWidthAt(index: Integer, workArea: Bool) → Integer

Возвращает ширину монитора из последнего снимка DisplayMonitorEnumeratedAll — всей его области или рабочей области — в том виде, в каком она была на момент снимка.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Ширина в пикселях или 0, если index вне диапазона.

1 пример: Список мониторов

DisplayMonitorGetEnumeratedXAt​

DisplayMonitorGetEnumeratedXAt(index: Integer, workArea: Bool) → Integer

Возвращает левый край монитора из последнего снимка DisplayMonitorEnumeratedAll — всей его области или рабочей области — в том виде, в каком он был на момент снимка.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Левый край в пикселях экрана (отрицательный для монитора слева от основного) или 0, если index вне диапазона. 0 — это и настоящий край, поэтому сверяйте index с количеством мониторов.

DisplayMonitorGetEnumeratedYAt​

DisplayMonitorGetEnumeratedYAt(index: Integer, workArea: Bool) → Integer

Возвращает верхний край монитора из последнего снимка DisplayMonitorEnumeratedAll — всей его области или рабочей области — в том виде, в каком он был на момент снимка.

Параметры

  • index: Integer — Позиция монитора в последнем снимке DisplayMonitorEnumeratedAll, начиная с нуля (слева направо, затем сверху вниз).
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Верхний край в пикселях экрана (отрицательный для монитора выше основного) или 0, если index вне диапазона. 0 — это и настоящий край, поэтому сверяйте index с количеством мониторов.

DisplayMonitorGetFriendlyNameFromPoint​

DisplayMonitorGetFriendlyNameFromPoint(x: Integer, y: Integer) → Text

Возвращает название модели монитора, содержащего точку экрана, например DELL U2720Q. Оно удобно для чтения, но не уникально: два одинаковых монитора сообщают одно и то же название.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.

Возвращает

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

DisplayMonitorGetRectHeightFromName​

DisplayMonitorGetRectHeightFromName(name: Text, workArea: Bool) → Integer

Возвращает высоту подключённого монитора, найденного по сохранённому пути к устройству или названию модели, — всей его области или рабочей области.

Параметры

  • name: Text — Путь к устройству монитора (надёжный вариант) или название модели, например DELL U2720Q. Регистр не учитывается; точное совпадение пути к устройству имеет приоритет над названием модели.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Высота в пикселях или 0, если имени не соответствует ни один подключённый монитор.

DisplayMonitorGetRectHeightFromPoint​

DisplayMonitorGetRectHeightFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer

Возвращает высоту монитора, содержащего точку экрана, — всей его области или рабочей области. Для точки вне всех мониторов используется ближайший монитор.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Высота в пикселях.

2 примера: Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором

DisplayMonitorGetRectWidthFromName​

DisplayMonitorGetRectWidthFromName(name: Text, workArea: Bool) → Integer

Возвращает ширину подключённого монитора, найденного по сохранённому пути к устройству или названию модели, — всей его области или рабочей области.

Параметры

  • name: Text — Путь к устройству монитора (надёжный вариант) или название модели, например DELL U2720Q. Регистр не учитывается; точное совпадение пути к устройству имеет приоритет над названием модели.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Ширина в пикселях или 0, если имени не соответствует ни один подключённый монитор.

DisplayMonitorGetRectWidthFromPoint​

DisplayMonitorGetRectWidthFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer

Возвращает ширину монитора, содержащего точку экрана, — всей его области или рабочей области. Для точки вне всех мониторов используется ближайший монитор.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Ширина в пикселях.

3 примера: Цепочка else-if, Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором

DisplayMonitorGetRectXFromName​

DisplayMonitorGetRectXFromName(name: Text, workArea: Bool) → Integer

Возвращает левый край подключённого монитора, найденного по сохранённому пути к устройству или названию модели, — всей его области или рабочей области.

Параметры

  • name: Text — Путь к устройству монитора (надёжный вариант) или название модели, например DELL U2720Q. Регистр не учитывается; точное совпадение пути к устройству имеет приоритет над названием модели.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Левый край в пикселях экрана или 0, если имени не соответствует ни один подключённый монитор. 0 — это и настоящий край, поэтому сначала проверьте DisplayMonitorExistsByName.

DisplayMonitorGetRectXFromPoint​

DisplayMonitorGetRectXFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer

Возвращает левый край монитора, содержащего точку экрана, — всей его области или рабочей области. Для точки вне всех мониторов используется ближайший монитор.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Левый край в пикселях экрана; отрицательный для монитора слева от основного.

3 примера: Цепочка else-if, Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором

DisplayMonitorGetRectYFromName​

DisplayMonitorGetRectYFromName(name: Text, workArea: Bool) → Integer

Возвращает верхний край подключённого монитора, найденного по сохранённому пути к устройству или названию модели, — всей его области или рабочей области.

Параметры

  • name: Text — Путь к устройству монитора (надёжный вариант) или название модели, например DELL U2720Q. Регистр не учитывается; точное совпадение пути к устройству имеет приоритет над названием модели.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Верхний край в пикселях экрана или 0, если имени не соответствует ни один подключённый монитор. 0 — это и настоящий край, поэтому сначала проверьте DisplayMonitorExistsByName.

DisplayMonitorGetRectYFromPoint​

DisplayMonitorGetRectYFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer

Возвращает верхний край монитора, содержащего точку экрана, — всей его области или рабочей области. Для точки вне всех мониторов используется ближайший монитор.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.
  • workArea: Bool — true — рабочая область без панели задач и закреплённых панелей инструментов; false — весь монитор.

Возвращает

Верхний край в пикселях экрана; отрицательный для монитора выше основного.

2 примера: Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором

Engine​

EngineConsumePhysicalInput​

EngineConsumePhysicalInput(enable: Bool, timeoutSeconds: Integer) → Bool

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

Параметры

  • enable: Bool — true — начать или перезапустить блокировку реального ввода; false — снять блокировку, какой бы скрипт её ни начал.
  • timeoutSeconds: Integer — Максимальная длительность блокировки в секундах; 1 или больше, если enable равно true. Более длинные значения сокращаются до максимума, заданного на странице настроек скриптов (по умолчанию 120 секунд). Игнорируется, если enable равно false.

Возвращает

Всегда true. Если enable равно true, значение timeoutSeconds, равное 0 или меньше, останавливает скрипт с ошибкой.

EngineDisable​

EngineDisable() → Bool · Простой

Отключает движок так же, как отключение через значок в трее, пока EngineEnable или трей не включат его снова. Изменение происходит сразу после возврата из вызова. В безопасном режиме ничего не делает.

Параметры

Без параметров.

Возвращает

true, если запрос отправлен; false, если движок ещё не завершил запуск.

1 пример: Состояние движка

EngineDisableNextGesture​

EngineDisableNextGesture() → Bool · Простой

Один раз пропускает следующее нажатие кнопки рисования прямо в приложение, не начиная жест. Не действует, пока движок отключён.

Параметры

Без параметров.

Возвращает

Всегда true.

1 пример: Пропустить следующее перетаскивание правой кнопкой

EngineEnable​

EngineEnable() → Bool · Простой

Снова включает движок после EngineDisable или отключения через значок в трее. Изменение происходит сразу после возврата из вызова. В безопасном режиме ничего не делает.

Параметры

Без параметров.

Возвращает

true, если запрос отправлен; false, если движок ещё не завершил запуск.

EngineExit​

EngineExit() → Bool · Простой

Закрывает движок с обычным завершением работы, так же как команда «Выход» в меню в трее: окна, скрытые в трее, восстанавливаются, а окно настройки закрывается. Завершение начинается сразу после возврата из вызова.

Параметры

Без параметров.

Возвращает

true, если запрос на завершение отправлен; false, если движок ещё не завершил запуск.

EngineIsDisabled​

EngineIsDisabled() → Bool

Возвращает, отключён ли сейчас движок — с помощью EngineDisable, через значок в трее или автоматически для приложения с фокусом.

Параметры

Без параметров.

Возвращает

true, если движок отключён; false, если он активен.

1 пример: Состояние движка

EngineIsSafeMode​

EngineIsSafeMode() → Bool

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

Параметры

Без параметров.

Возвращает

true в безопасном режиме; иначе false.

1 пример: Состояние движка

EngineReload​

EngineReload() → Bool · Простой

Перезагружает конфигурацию с диска без перезапуска, как команда «Перезагрузить конфигурацию» в меню в трее. Ждёт до 3 секунд. Все остальные выполняющиеся скрипты останавливаются; этот продолжает работу.

Параметры

Без параметров.

Возвращает

true, когда новая конфигурация начала использоваться; false, если её не удалось загрузить или перезагрузка заняла больше 3 секунд.

EngineStopAllActions​

EngineStopAllActions() → Bool · Простой

Просит остановиться все выполняющиеся действия и скрипты, включая вызвавший её. Ничего не завершается принудительно: каждый скрипт останавливается на следующем шаге, поэтому вызывающий скрипт может сначала выполниться ещё немного.

Параметры

Без параметров.

Возвращает

Всегда true.

File​

FileAppendText​

FileAppendText(path: Text, text: Text) → Bool

Дописывает текст в конец текстового файла, создавая файл, если его нет. Удобно для журналов. Текст записывается в UTF-8, перевод строки автоматически не добавляется.

Параметры

  • path: Text — Полный путь к файлу. Его папка уже должна существовать.
  • text: Text — Добавляемый текст. Завершайте его на '\n', чтобы каждая запись была на отдельной строке.

Возвращает

true, если текст записан; false, если папка не существует, файл заблокирован или начало существующего файла похоже на двоичные данные.

1 пример: Дописать в файл журнала

FileCopy​

FileCopy(source: Text, destination: Text, overwrite: Bool) → Bool

Копирует файл любого типа по новому пути. Папка назначения уже должна существовать.

Параметры

  • source: Text — Полный путь к копируемому файлу.
  • destination: Text — Полный путь к новой копии, включая имя файла.
  • overwrite: Bool — true — заменить существующий файл в destination; false — не трогать его и вернуть false.

Возвращает

true, если файл скопирован; false, если исходный файл отсутствует, файл назначения существует и overwrite равно false или копирование не удалось.

1 пример: Сделать резервную копию файла перед изменением

FileCreate​

FileCreate(path: Text, text: Text) → Bool

Создаёт новый текстовый файл с заданным содержимым в кодировке UTF-8. Отказывает, если по этому пути что-либо уже существует; чтобы заменить содержимое существующего файла, используйте FileEditText.

Параметры

  • path: Text — Полный путь к новому файлу. Его папка уже должна существовать.
  • text: Text — Содержимое файла. Пустой текст создаёт пустой файл.

Возвращает

true, если файл создан; false, если там уже существует файл или папка либо файл не удалось записать.

2 примера: Сегодняшняя дата и имя файла с отметкой времени, Дописать в файл журнала

FileDelete​

FileDelete(path: Text) → Bool

Удаляет файл безвозвратно; в корзину он не попадает. Если файла уже нет, это считается успехом. Папка никогда не удаляется; для этого используйте FolderDelete.

Параметры

  • path: Text — Полный путь к удаляемому файлу.

Возвращает

true, если файла нет, в том числе если он никогда не существовал; false, если путь указывает на папку, файл заблокирован или доступ запрещён.

FileEditText​

FileEditText(path: Text, text: Text) → Bool

Заменяет всё содержимое существующего текстового файла, записывая его в UTF-8. Отказывает для файла, похожего на двоичные данные. Для нового файла используйте FileCreate.

Параметры

  • path: Text — Полный путь к существующему текстовому файлу.
  • text: Text — Новое содержимое, заменяющее всё, что было в файле.

Возвращает

true, если файл перезаписан; false, если он не существует, его начало похоже на двоичные данные или его не удалось записать.

1 пример: Сделать резервную копию файла перед изменением

FileExists​

FileExists(path: Text) → Bool

Проверяет, существует ли файл по указанному пути. Папка по этому пути не учитывается; для папок используйте FolderExists.

Параметры

  • path: Text — Полный путь к проверяемому файлу.

Возвращает

true, если там существует файл; false, если там ничего нет или это папка.

2 примера: Дописать в файл журнала, Сделать резервную копию файла перед изменением

FileGetCreationDate​

FileGetCreationDate(path: Text) → Text

Возвращает время создания файла как дату и время ISO 8601 в UTC, которые могут читать DateTimeFormat и другие встроенные функции DateTime.

Параметры

  • path: Text — Полный путь к файлу.

Возвращает

Время создания, например 2026-10-01T18:05:09Z, или пустой текст, если файл не существует или путь указывает на папку.

FileGetModifiedDate​

FileGetModifiedDate(path: Text) → Text

Возвращает время последнего изменения содержимого файла как дату и время ISO 8601 в UTC, которые могут читать DateTimeFormat и другие встроенные функции DateTime.

Параметры

  • path: Text — Полный путь к файлу.

Возвращает

Время последнего изменения, например 2026-10-01T18:05:09Z, или пустой текст, если файл не существует или путь указывает на папку.

1 пример: Прочитать файл и подсчитать его строки

FileGetProductVersion​

FileGetProductVersion(path: Text) → Text

Возвращает версию продукта, сохранённую в файле программы или библиотеки, например .exe или .dll. Это версия продукта, в составе которого поставляется файл; она может отличаться от FileGetVersion.

Параметры

  • path: Text — Полный путь к файлу .exe, .dll или другому файлу со сведениями о версии.

Возвращает

Версия в виде четырёх чисел, например 10.0.22621.1, или пустой текст, если в файле нет сведений о версии или он не существует.

FileGetSize​

FileGetSize(path: Text) → Integer

Возвращает размер файла в байтах, не открывая и не читая файл.

Параметры

  • path: Text — Полный путь к файлу.

Возвращает

Размер в байтах или -1, если файл не существует или путь указывает на папку.

1 пример: Прочитать файл и подсчитать его строки

FileGetVersion​

FileGetVersion(path: Text) → Text

Возвращает версию файла, сохранённую в файле программы или библиотеки, например .exe или .dll, в том виде, в каком она показана на вкладке «Подробно» его свойств.

Параметры

  • path: Text — Полный путь к файлу .exe, .dll или другому файлу со сведениями о версии.

Возвращает

Версия в виде четырёх чисел, например 10.0.22621.1, или пустой текст, если в файле нет сведений о версии или он не существует.

FileMove​

FileMove(source: Text, destination: Text, overwrite: Bool) → Bool

Перемещает файл любого типа по новому пути, что позволяет также дать ему новое имя, в том числе изменить только регистр букв. Папка назначения уже должна существовать.

Параметры

  • source: Text — Полный путь к перемещаемому файлу.
  • destination: Text — Полный путь к новому расположению файла, включая имя файла.
  • overwrite: Bool — true — заменить существующий файл в destination за один шаг; false — не трогать его и вернуть false. Путь назначения, отличающийся от исходного только регистром букв, не считается существующим файлом.

Возвращает

true, если файл перемещён; false, если исходный файл отсутствует, файл назначения существует и overwrite равно false или перемещение не удалось.

FileReadText​

FileReadText(path: Text) → Text

Читает весь текстовый файл и возвращает его содержимое. Понимает UTF-8, UTF-16 с меткой порядка байтов и файлы в устаревшей кодовой странице системы. Отказывает для двоичных файлов.

Параметры

  • path: Text — Полный путь к текстовому файлу.

Возвращает

Содержимое файла или пустой текст, если файл не существует, не читается или похож на двоичные данные.

2 примера: Прочитать файл и подсчитать его строки, Сделать резервную копию файла перед изменением

FileRename​

FileRename(path: Text, newName: Text) → Bool

Переименовывает файл, оставляя его в текущей папке. Изменение только регистра букв, например report.txt в Report.txt, тоже работает. Чтобы переместить файл в другую папку, используйте FileMove.

Параметры

  • path: Text — Полный путь к переименовываемому файлу.
  • newName: Text — Только новое имя файла, например report-old.txt. Имя, содержащее косую черту или обратную косую черту, останавливает скрипт с ошибкой.

Возвращает

true, если файл переименован; false, если он не существует, другой файл или папка с новым именем уже существует или переименование не удалось.

Folder​

FolderCreate​

FolderCreate(path: Text) → Bool

Создаёт папку вместе со всеми отсутствующими родительскими папками. Если папка уже существует, это считается успехом.

Параметры

  • path: Text — Полный путь к создаваемой папке.

Возвращает

true, если после вызова папка существует; false, если мешает файл или папку не удалось создать.

FolderDelete​

FolderDelete(path: Text, recursive: Bool) → Bool

Удаляет папку безвозвратно; в корзину она не попадает. Если recursive равно true, удаляется и всё её содержимое. Если папки уже нет, это считается успехом. Файл никогда не удаляется; для этого используйте FileDelete.

Параметры

  • path: Text — Полный путь к удаляемой папке.
  • recursive: Bool — true — удалить папку и всё её содержимое; false — удалить её, только если она пуста.

Возвращает

true, если папки нет; false, если путь указывает на файл, папка не пуста и recursive равно false или что-то в ней заблокировано или защищено.

FolderEnumerateAll​

FolderEnumerateAll(path: Text, recursive: Bool) → Integer

Составляет список файлов и вложенных папок в папке и возвращает их количество. Каждый полный путь читается с помощью FolderGetEnumeratedPathAt. Недоступные вложенные папки пропускаются.

Параметры

  • path: Text — Полный путь к папке, содержимое которой перечисляется.
  • recursive: Bool — true — перечислить также всё содержимое всех вложенных папок; false — только непосредственное содержимое папки.

Возвращает

Количество найденных элементов или -1, если папка не существует или не читается.

1 пример: Подсчитать типы файлов в папке

FolderExists​

FolderExists(path: Text) → Bool

Проверяет, существует ли папка по указанному пути. Файл по этому пути не учитывается; для файлов используйте FileExists.

Параметры

  • path: Text — Полный путь к проверяемой папке.

Возвращает

true, если там существует папка; false, если там ничего нет или это файл.

FolderGetEnumeratedPathAt​

FolderGetEnumeratedPathAt(index: Integer) → Text

Возвращает один полный путь из списка, составленного последним вызовом FolderEnumerateAll в этом запуске скрипта.

Параметры

  • index: Integer — Позиция в списке, от 0 до возвращённого FolderEnumerateAll количества минус 1.

Возвращает

Полный путь к файлу или папке или пустой текст, если index вне диапазона или FolderEnumerateAll не вызывалась.

1 пример: Подсчитать типы файлов в папке

FolderRename​

FolderRename(path: Text, newName: Text) → Bool

Переименовывает папку, оставляя её вместе с содержимым в текущей родительской папке. Изменение только регистра букв тоже работает.

Параметры

  • path: Text — Полный путь к переименовываемой папке.
  • newName: Text — Только новое имя папки. Имя, содержащее косую черту или обратную косую черту, останавливает скрипт с ошибкой.

Возвращает

true, если папка переименована; false, если она не существует, другой файл или папка с новым именем уже существует или переименование не удалось, например потому, что открыт файл внутри неё.

FolderWatchCreate​

FolderWatchCreate(name: Text, path: Text, recursive: Bool, filterMask: Integer, script: Text) → Bool

Начинает отслеживать папку и выполняет скрипт для каждого изменения, о котором сообщает Windows, например при создании, изменении, переименовании или удалении файла. Отслеживание продолжается и после завершения этого скрипта.

Параметры

  • name: Text — Имя отслеживания. Создание отслеживания с уже используемым именем заменяет то отслеживание. Имена учитывают регистр.
  • path: Text — Полный путь к отслеживаемой папке.
  • recursive: Bool — true — отслеживать также все вложенные папки; false — только саму папку.
  • filterMask: Integer — Какие виды изменений сообщать: константы FileNotify, объединённые через |, например FileNotify.FileName | FileNotify.LastWrite.
  • script: Text — Скрипт, выполняемый для каждого изменения, в виде Text. Он читает изменение с помощью ContextGetWatchAction (created, deleted, modified, renamed-old-name, renamed-new-name или overflow) и ContextGetWatchPath.

Возвращает

true, если отслеживание работает; false, если папка не существует, не открывается или filterMask равно 0.

1 пример: Отслеживать папку

FolderWatchDelete​

FolderWatchDelete(name: Text) → Bool

Останавливает отслеживание папки, созданное с помощью FolderWatchCreate, чтобы его скрипт больше не выполнялся.

Параметры

  • name: Text — Имя, переданное в FolderWatchCreate. Имена учитывают регистр.

Возвращает

true, если отслеживание с этим именем найдено и остановлено; false, если такого не было.

1 пример: Отслеживать папку

FolderWatchDeleteAll​

FolderWatchDeleteAll() → Bool

Останавливает все отслеживания папок, созданные с помощью FolderWatchCreate, чтобы ни один из их скриптов больше не выполнялся.

Параметры

Без параметров.

Возвращает

Всегда true.

FolderWatchGetCount​

FolderWatchGetCount() → Integer

Возвращает количество работающих отслеживаний папок и делает снимок их имён для FolderWatchGetEnumeratedNameAt.

Параметры

Без параметров.

Возвращает

Количество работающих отслеживаний папок или 0, если их нет.

FolderWatchGetEnumeratedNameAt​

FolderWatchGetEnumeratedNameAt(index: Integer) → Text

Возвращает одно имя отслеживания из снимка, сделанного последним вызовом FolderWatchGetCount в этом запуске скрипта.

Параметры

  • index: Integer — Позиция в снимке, от 0 до количества минус 1. Порядок не имеет значения.

Возвращает

Имя отслеживания или пустой текст, если index вне диапазона или FolderWatchGetCount не вызывалась.

GestureProfile​

GestureProfileEnumerateAll​

GestureProfileEnumerateAll() → Integer

Составляет список всех профилей жестов в конфигурации и возвращает их количество. Каждый из них читается с помощью GestureProfileGetEnumeratedIdAt и GestureProfileGetEnumeratedNameAt.

Параметры

Без параметров.

Возвращает

Количество профилей жестов или 0, если их нет.

1 пример: Переключиться на следующий профиль жестов

GestureProfileGetActiveId​

GestureProfileGetActiveId() → Text

Возвращает идентификатор профиля жестов, активного сейчас.

Параметры

Без параметров.

Возвращает

Идентификатор активного профиля или пустой текст, если ни один профиль не активен.

2 примера: Уведомление Windows, Переключиться на следующий профиль жестов

GestureProfileGetEnumeratedIdAt​

GestureProfileGetEnumeratedIdAt(index: Integer) → Text

Возвращает идентификатор одного профиля из списка, составленного последним вызовом GestureProfileEnumerateAll в этом скрипте. Передайте идентификатор в GestureProfileSwitch.

Параметры

  • index: Integer — Позиция в списке, начиная с нуля, от 0 до количества минус 1.

Возвращает

Идентификатор профиля или пустой текст, если index вне диапазона или GestureProfileEnumerateAll не вызывалась.

1 пример: Переключиться на следующий профиль жестов

GestureProfileGetEnumeratedNameAt​

GestureProfileGetEnumeratedNameAt(index: Integer) → Text

Возвращает отображаемое имя одного профиля из списка, составленного последним вызовом GestureProfileEnumerateAll в этом скрипте.

Параметры

  • index: Integer — Позиция в списке, начиная с нуля, от 0 до количества минус 1.

Возвращает

Имя профиля или пустой текст, если index вне диапазона или GestureProfileEnumerateAll не вызывалась.

1 пример: Переключиться на следующий профиль жестов

GestureProfileSwitch​

GestureProfileSwitch(profileId: Text) → Bool · Простой

Переключается на другой профиль жестов так же, как выбор в меню в трее, и запоминает выбор после перезапуска. Переключение происходит сразу после возврата из вызова.

Параметры

  • profileId: Text — Идентификатор профиля, на который нужно переключиться, например полученный от GestureProfileGetEnumeratedIdAt, или пустой текст для работы без профиля.

Возвращает

true, если запрос отправлен; false для идентификатора, которого нет ни у одного профиля, и тогда ничего не меняется. Переключение происходит сразу после возврата из вызова; чтобы убедиться в нём, используйте GestureProfileGetActiveId.

1 пример: Переключиться на следующий профиль жестов

Keyboard​

KeyboardGetKeyState​

KeyboardGetKeyState(key: Integer) → Integer

Возвращает исходное состояние клавиши в Windows на текущий момент. Пока на переднем плане другой рабочий стол, например запрос UAC или экран блокировки, все клавиши считаются отпущенными. Для простого ответа да или нет используйте KeyboardIsKeyDown или KeyboardIsKeyToggled.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.CapsLock, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

Исходное значение Integer: отрицательное (установлен старший бит), когда клавиша нажата, и нечётное (установлен младший бит), когда клавиша-переключатель, например Caps Lock, включена.

1 пример: Биты состояния клавиши

KeyboardGetKeyStateAsync​

KeyboardGetKeyStateAsync(key: Integer) → Integer

Возвращает исходное состояние клавиши в Windows в данный момент, независимо от того, какое окно имеет фокус.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.ShiftKey, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

Исходное значение Integer: отрицательное (установлен старший бит), когда клавиша нажата прямо сейчас. Младший бит может быть установлен, если клавишу нажимали после предыдущей проверки, но Windows этого не гарантирует.

KeyboardIsKeyDown​

KeyboardIsKeyDown(key: Integer) → Bool

Проверяет, удерживается ли клавиша нажатой в данный момент. Пока на переднем плане другой рабочий стол, например запрос UAC или экран блокировки, все клавиши считаются отпущенными.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.ControlKey, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

true, если клавиша нажата; false, если отпущена.

2 примера: Биты состояния клавиши, Другое поведение, пока удерживается Ctrl

KeyboardIsKeyToggled​

KeyboardIsKeyToggled(key: Integer) → Bool

Проверяет, включена ли клавиша-переключатель. Имеет смысл только для VirtualKey.CapsLock, VirtualKey.NumLock и VirtualKey.Scroll.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.CapsLock, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

true, если клавиша-переключатель включена; false, если выключена.

1 пример: Биты состояния клавиши

KeyboardKeyDown​

KeyboardKeyDown(key: Integer) → Bool

Нажимает клавишу и удерживает её, пока KeyboardKeyUp её не отпустит. Если включён параметр «Отправлять мультимедийные и браузерные клавиши как команды», мультимедийная клавиша, клавиша громкости или браузера вместо этого отправляет свою команду.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.ShiftKey, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

true, если нажатие клавиши отправлено; false, если Windows его заблокировала или, для клавиши, отправляемой как команда, ни одно окно не имеет фокуса.

1 пример: Щелчок с Shift

KeyboardKeyUp​

KeyboardKeyUp(key: Integer) → Bool

Отпускает клавишу, нажатую с помощью KeyboardKeyDown. Для мультимедийной клавиши, клавиши громкости или браузера, отправляемой как команда, ничего не делает, так как команда уже была отправлена при нажатии.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.ShiftKey, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

true, если отпускание клавиши отправлено, и всегда true для клавиши, отправляемой как команда; false, если Windows его заблокировала.

1 пример: Щелчок с Shift

KeyboardPressKey​

KeyboardPressKey(key: Integer) → Bool · Простой

Нажимает и отпускает одну клавишу — любую, для которой в Windows есть код, включая мультимедийные. Если включён параметр «Отправлять мультимедийные и браузерные клавиши как команды», такие клавиши вместо этого отправляют свою команду.

Параметры

  • key: Integer — Константа VirtualKey, например VirtualKey.MediaPlayPause, или код виртуальной клавиши от 0 до 255. Любое другое значение останавливает скрипт с ошибкой.

Возвращает

true, если нажатие клавиши отправлено; false, если Windows его заблокировала или, для клавиши, отправляемой как команда, ни одно окно не имеет фокуса.

3 примера: Именованные константы и простые числа, Мультимедийные клавиши, Кнопки устройства на COM-порту как мультимедийные клавиши

KeyboardPressKeyCombo​

KeyboardPressKeyCombo(combo: Text) → Bool · Простой

Нажимает одно сочетание клавиш, например Ctrl+C: удерживает модификаторы, нажимает и отпускает клавишу, затем отпускает модификаторы. За один вызов отправляется одно сочетание.

Параметры

  • combo: Text — Необязательные символы модификаторов (^ для Ctrl, + для Shift, @ для Windows, знак процента для Alt), за которыми следует одна буква или цифра либо имя клавиши в фигурных скобках, например {ENTER}, {F5} или {LEFT}, в любом регистре. Пример: '^c' — это Ctrl+C.

Возвращает

true, если нажатия клавиш отправлены; false, если Windows их заблокировала. Нераспознанное сочетание останавливает скрипт с ошибкой.

4 примера: Сочетания клавиш, Набрать подпись, Перевести выделенный текст в верхний регистр, Найти выделение в интернете

KeyboardTypeText​

KeyboardTypeText(text: Text) → Bool · Простой

Вводит текст в окно с фокусом посимвольно, на любом языке и включая эмодзи, независимо от раскладки клавиатуры. Перед каждым символом выдерживает паузу, заданную параметром «Задержка ввода».

Параметры

  • text: Text — Вводимый текст. Каждый перевод строки отправляется как одно нажатие Enter. В скрипте раскрытия текста клавиша, завершившая триггер, вводится после него.

Возвращает

true, если все символы отправлены или текст пуст; false, если Windows заблокировала часть из них.

3 примера: Запустить программу, дождаться её окна и действовать в нём, Сегодняшняя дата и имя файла с отметкой времени, Набрать подпись

Macro​

MacroClearTemporary​

MacroClearTemporary() → Bool

Удаляет макрос, записанный с помощью MacroRecordTemporary.

Параметры

Без параметров.

Возвращает

true, если был записанный макрос для удаления; false, если его не было.

MacroExpectFocusedWindow​

MacroExpectFocusedWindow(exeName: Text, windowClass: Text) → Bool

Ждёт, пока окно переднего плана не будет принадлежать указанной программе и классу окна, но не дольше времени ожидания при воспроизведении макроса из настроек (по умолчанию 2 секунды). Если совпадения так и нет, показывает уведомление и останавливает скрипт.

Параметры

  • exeName: Text — Имя файла программы, например notepad.exe. Регистр не учитывается; пустой текст соответствует любой программе.
  • windowClass: Text — Имя класса окна верхнего уровня, например Notepad. Регистр не учитывается; пустой текст соответствует любому классу.

Возвращает

true, когда окно совпадает; false, если во время ожидания скрипт попросили остановиться.

MacroExpectWindowAt​

MacroExpectWindowAt(x: Integer, y: Integer, exeName: Text, windowClass: Text) → Bool

Ждёт, пока окно верхнего уровня в точке экрана не будет принадлежать указанной программе и классу окна, но не дольше времени ожидания при воспроизведении макроса из настроек (по умолчанию 2 секунды). Если совпадения так и нет, показывает уведомление и останавливает скрипт.

Параметры

  • x: Integer — Проверяемая горизонтальная позиция на экране в пикселях виртуального экрана.
  • y: Integer — Проверяемая вертикальная позиция на экране в пикселях виртуального экрана.
  • exeName: Text — Имя файла программы, например notepad.exe. Регистр не учитывается; пустой текст соответствует любой программе.
  • windowClass: Text — Имя класса окна верхнего уровня, например Notepad. Регистр не учитывается; пустой текст соответствует любому классу.

Возвращает

true, когда окно совпадает; false, если во время ожидания скрипт попросили остановиться.

MacroGetTemporaryScript​

MacroGetTemporaryScript() → Text

Возвращает макрос, записанный с помощью MacroRecordTemporary, в виде текста скрипта «Шаги», чтобы скрипт мог сохранить или изучить его.

Параметры

Без параметров.

Возвращает

Текст «Шаги» последней завершённой записи или пустой текст, если ничего не записано или запись удалена. Пока идёт новая запись, по-прежнему возвращается предыдущая.

MacroPlayTemporary​

MacroPlayTemporary(timeoutSeconds: Integer) → Bool

Воспроизводит макрос, записанный с помощью MacroRecordTemporary, и ждёт его завершения или истечения времени ожидания. Во время воспроизведения реальный ввод пользователя с мыши и клавиатуры задерживается.

Параметры

  • timeoutSeconds: Integer — Максимальное время ожидания в секундах; 1 или больше, иначе скрипт останавливается с ошибкой. Макрос, который ещё выполняется после этого, продолжает работу, но реальный ввод больше не задерживается.

Возвращает

true, если макрос вовремя воспроизведён до конца; false, если ничего не записано, шаг или проверка окна не удались, воспроизведение остановлено или к моменту истечения времени оно ещё продолжалось.

MacroRecordTemporary​

MacroRecordTemporary() → Bool

Начинает запись ввода с мыши и клавиатуры во временный макрос, хранящийся в памяти; для остановки нажмите Ctrl+Break. Возвращает управление сразу, до начала записи. Сначала может появиться окно подтверждения.

Параметры

Без параметров.

Возвращает

true, если запрос на запись отправлен; false, если запись уже идёт, запускается или запрошена либо движок ещё не завершил запуск.

Math​

MathAbs​

MathAbs(value: Any) → Any

Возвращает абсолютное значение числа, то есть число без знака минус. Работает со значениями Integer и Real.

Параметры

  • value: Any — Число Integer или Real.

Возвращает

Абсолютное значение того же вида, что и value (Integer или Real); 0.0 для Real, равного NaN или бесконечности. Значение, не являющееся числом, останавливает действие с ошибкой.

2 примера: Ограничить значение диапазоном, В какую сторону шёл штрих?

MathAtan2​

MathAtan2(y: Any, x: Any) → Real

Возвращает угол в радианах от начала координат до точки (x, y). Координата y на экране растёт вниз, поэтому для угла штриха в обычном математическом направлении передавайте изменение по вертикали с обратным знаком.

Параметры

  • y: Any — Вертикальная координата точки. Integer или Real. Обратите внимание: y идёт первым.
  • x: Any — Горизонтальная координата точки. Integer или Real.

Возвращает

Угол в радианах от -pi до pi в виде Real; 0.0, если какой-либо аргумент равен NaN или бесконечности. Аргументы, не являющиеся числами, останавливают действие с ошибкой.

MathCeil​

MathCeil(value: Real) → Integer

Округляет число вверх до ближайшего целого. MathCeil(2.1) равно 3; MathCeil(-2.1) равно -2.

Параметры

  • value: Real — Число для округления вверх. Integer принимается как есть.

Возвращает

Округлённое значение в виде Integer. 0, если value равно NaN или бесконечности; значение за пределами диапазона Integer даёт наибольшее или наименьшее Integer.

1 пример: Округление и встроенные функции для Real

MathClamp​

MathClamp(value: Any, min: Any, max: Any) → Any

Удерживает число в пределах диапазона: возвращает min, если value меньше него, max, если value больше него, и value в остальных случаях. Работает со значениями Integer и Real.

Параметры

  • value: Any — Число, которое нужно удержать в пределах диапазона.
  • min: Any — Наименьшее допустимое значение. Не должно быть больше max.
  • max: Any — Наибольшее допустимое значение.

Возвращает

Выбранное из value, min или max значение с сохранением его вида (Integer или Real); 0.0, если какой-либо аргумент равен NaN или бесконечности. Нечисловые значения или min больше max останавливают действие с ошибкой.

1 пример: Ограничить значение диапазоном

MathCos​

MathCos(radians: Real) → Real

Возвращает косинус угла, заданного в радианах. Чтобы перевести градусы, умножьте на MathGetPi() и разделите на 180.

Параметры

  • radians: Real — Угол в радианах. Integer принимается как есть.

Возвращает

Косинус от -1 до 1 в виде Real; 0.0, если radians равно NaN или бесконечности.

1 пример: Провести мышь по кругу

MathFloor​

MathFloor(value: Real) → Integer

Округляет число вниз до ближайшего целого. MathFloor(2.9) равно 2; MathFloor(-2.1) равно -3.

Параметры

  • value: Real — Число для округления вниз. Integer принимается как есть.

Возвращает

Округлённое значение в виде Integer. 0, если value равно NaN или бесконечности; значение за пределами диапазона Integer даёт наибольшее или наименьшее Integer.

1 пример: Округление и встроенные функции для Real

MathGetE​

MathGetE() → Real

Возвращает математическую константу e (примерно 2,71828) — основание натуральных логарифмов.

Параметры

Без параметров.

Возвращает

Значение e в виде Real.

MathGetPi​

MathGetPi() → Real

Возвращает математическую константу pi (примерно 3,14159). Используйте её для перевода между градусами и радианами.

Параметры

Без параметров.

Возвращает

Значение pi в виде Real.

1 пример: Провести мышь по кругу

MathLog​

MathLog(value: Real) → Real

Возвращает натуральный логарифм (по основанию e) числа. Для десятичного логарифма разделите результат на MathLog(10.0).

Параметры

  • value: Real — Число больше 0. Integer принимается как есть.

Возвращает

Натуральный логарифм в виде Real или 0, если value равно 0, отрицательно, равно NaN или бесконечности.

MathMax​

MathMax(a: Any, b: Any) → Any

Возвращает большее из двух чисел. Работает со значениями Integer и Real.

Параметры

  • a: Any — Первое число.
  • b: Any — Второе число.

Возвращает

Большее из a и b с сохранением его вида; a, если они равны; 0.0, если любое из них равно NaN или бесконечности. Аргументы, не являющиеся числами, останавливают действие с ошибкой.

MathMin​

MathMin(a: Any, b: Any) → Any

Возвращает меньшее из двух чисел. Работает со значениями Integer и Real.

Параметры

  • a: Any — Первое число.
  • b: Any — Второе число.

Возвращает

Меньшее из a и b с сохранением его вида; a, если они равны; 0.0, если любое из них равно NaN или бесконечности. Аргументы, не являющиеся числами, останавливают действие с ошибкой.

1 пример: Увеличение громкости с экранной индикацией

MathMod​

MathMod(value: Any, divisor: Any) → Any

Возвращает остаток от деления value на divisor. Результат имеет знак делителя, поэтому MathMod(-30, 360) равно 330: это подходит для приведения угла к диапазону или циклического перебора индекса.

Параметры

  • value: Any — Делимое. Integer или Real.
  • divisor: Any — Делитель. Integer или Real.

Возвращает

Остаток: Integer, если оба аргумента Integer, иначе Real. 0, если divisor равно 0 или любой аргумент равен NaN или бесконечности. Аргументы, не являющиеся числами, останавливают действие с ошибкой.

MathPow​

MathPow(base: Real, exponent: Real) → Real

Возводит число в степень, например в квадрат или куб. MathPow(2.0, 10.0) равно 1024.

Параметры

  • base: Real — Число, возводимое в степень. Integer принимается как есть.
  • exponent: Real — Показатель степени. Может быть отрицательным или дробным; 0.5 даёт квадратный корень.

Возвращает

Результат в виде Real или 0, если аргумент равен NaN или бесконечности либо конечного результата нет, например для 0 в отрицательной степени или слишком большого результата.

MathRandom​

MathRandom(min: Integer, max: Integer) → Integer

Возвращает случайное целое число от min до max включительно. MathRandom(1, 6) — бросок игральной кости.

Параметры

  • min: Integer — Наименьший возможный результат.
  • max: Integer — Наибольший возможный результат. Не должен быть меньше min.

Возвращает

Случайное Integer от min до max. Если min больше max, действие останавливается с ошибкой.

2 примера: while (true) с флагом выхода, Случайные числа и подбрасывание монеты

MathRound​

MathRound(value: Real) → Integer

Округляет число до ближайшего целого. Половины округляются от нуля: 2.5 становится 3, а -2.5 становится -3.

Параметры

  • value: Real — Округляемое число. Чтобы сохранить два знака после запятой в виде целого числа, округлите value, умноженное на 100.

Возвращает

Округлённое значение в виде Integer. 0, если value равно NaN или бесконечности; значение за пределами диапазона Integer даёт наибольшее или наименьшее Integer.

5 примеров: Округление и встроенные функции для Real, Длина штриха жеста, Провести мышь по кругу, Форматирование Real без шести знаков после запятой, Увеличение громкости с экранной индикацией

MathSin​

MathSin(radians: Real) → Real

Возвращает синус угла, заданного в радианах. Чтобы перевести градусы, умножьте на MathGetPi() и разделите на 180.

Параметры

  • radians: Real — Угол в радианах. Integer принимается как есть.

Возвращает

Синус от -1 до 1 в виде Real; 0.0, если radians равно NaN или бесконечности.

1 пример: Провести мышь по кругу

MathSqrt​

MathSqrt(value: Real) → Real

Возвращает квадратный корень числа. MathSqrt(dx * dx + dy * dy) — расстояние между двумя точками.

Параметры

  • value: Real — Число, равное 0 или больше. Integer принимается как есть.

Возвращает

Квадратный корень в виде Real или 0, если value отрицательно, равно NaN или бесконечности.

2 примера: Округление и встроенные функции для Real, Длина штриха жеста

MathTan​

MathTan(radians: Real) → Real

Возвращает тангенс угла, заданного в радианах. Вблизи прямого угла результат становится очень большим.

Параметры

  • radians: Real — Угол в радианах. Integer принимается как есть.

Возвращает

Тангенс в виде Real; 0.0, если radians равно NaN или бесконечности.

Mouse​

MouseButtonDown​

MouseButtonDown(button: Integer) → Bool

Нажимает кнопку мыши в текущей позиции курсора и удерживает её до MouseButtonUp. Вместе с MouseMoveTo позволяет выполнить перетаскивание из скрипта.

Параметры

  • button: Integer — Константа MouseButton, например MouseButton.Primary. Primary и Secondary учитывают параметр Windows, меняющий кнопки местами; Left и Right — физические кнопки.

Возвращает

true, если нажатие кнопки отправлено; false, если Windows его заблокировала. Неизвестная кнопка останавливает скрипт с ошибкой.

1 пример: Перетаскивание из скрипта

MouseButtonUp​

MouseButtonUp(button: Integer) → Bool

Отпускает кнопку мыши в текущей позиции курсора, обычно нажатую с помощью MouseButtonDown.

Параметры

  • button: Integer — Константа MouseButton, например MouseButton.Primary. Primary и Secondary учитывают параметр Windows, меняющий кнопки местами; Left и Right — физические кнопки.

Возвращает

true, если отпускание кнопки отправлено; false, если Windows его заблокировала. Неизвестная кнопка останавливает скрипт с ошибкой.

1 пример: Перетаскивание из скрипта

MouseClick​

MouseClick(x: Integer, y: Integer, button: Integer) → Bool · Простой

Перемещает курсор в точку экрана и щёлкает там кнопкой мыши. После этого курсор остаётся в этой точке.

Параметры

  • x: Integer — Горизонтальная позиция щелчка на экране в пикселях.
  • y: Integer — Вертикальная позиция щелчка на экране в пикселях.
  • button: Integer — Константа MouseButton, например MouseButton.Primary. Primary и Secondary учитывают параметр Windows, меняющий кнопки местами; Left и Right — физические кнопки.

Возвращает

true, если щелчок отправлен; false, если не удалось переместить курсор в точку (тогда щелчок не выполняется) или Windows заблокировала щелчок. Неизвестная кнопка останавливает скрипт с ошибкой.

2 примера: Щёлкнуть где-то и вернуть курсор на место, Щелчок с Shift

MouseClickAtClientPoint​

MouseClickAtClientPoint(window: Window, x: Integer, y: Integer, button: Integer) → Bool

Щёлкает кнопкой мыши в точке, отсчитываемой от левого верхнего угла клиентской области окна (внутренней части без заголовка и рамок). Курсор перемещается туда и остаётся там.

Параметры

  • window: Window — Окно, от клиентской области которого отсчитываются x и y.
  • x: Integer — Расстояние от левого края клиентской области в собственных пикселях этого окна, которые могут отличаться от пикселей экрана, если Windows масштабирует окно по DPI.
  • y: Integer — Расстояние от верхнего края клиентской области в собственных пикселях этого окна, которые могут отличаться от пикселей экрана, если Windows масштабирует окно по DPI.
  • button: Integer — Константа MouseButton, например MouseButton.Primary. Primary и Secondary учитывают параметр Windows, меняющий кнопки местами; Left и Right — физические кнопки.

Возвращает

true, если щелчок отправлен; false, если окно недопустимо или уже не существует, не удалось переместить курсор в точку (тогда щелчок не выполняется) или Windows заблокировала щелчок. Неизвестная кнопка останавливает скрипт с ошибкой.

1 пример: Щёлкнуть в точке внутри окна

MouseDoubleClick​

MouseDoubleClick(x: Integer, y: Integer, button: Integer) → Bool · Простой

Перемещает курсор в точку экрана и дважды щёлкает там кнопкой мыши. После этого курсор остаётся в этой точке.

Параметры

  • x: Integer — Горизонтальная позиция двойного щелчка на экране в пикселях.
  • y: Integer — Вертикальная позиция двойного щелчка на экране в пикселях.
  • button: Integer — Константа MouseButton, например MouseButton.Primary. Primary и Secondary учитывают параметр Windows, меняющий кнопки местами; Left и Right — физические кнопки.

Возвращает

true, если оба щелчка отправлены; false, если не удалось переместить курсор в точку (тогда щелчки не выполняются) или Windows заблокировала щелчки. Неизвестная кнопка останавливает скрипт с ошибкой.

MouseGetCursorX​

MouseGetCursorX() → Integer

Возвращает горизонтальную позицию указателя мыши на экране.

Параметры

Без параметров.

Возвращает

Позиция x указателя в пикселях экрана; отрицательная на мониторе слева от основного.

8 примеров: Цепочка else-if, Провести мышь по кругу, Прочитать цвет пикселя под курсором, Поместить окно в ячейку сетки 3×2 под курсором, Описать то, что под курсором, Щёлкнуть где-то и вернуть курсор на место, Перетаскивание из скрипта, Щелчок с Shift

MouseGetCursorY​

MouseGetCursorY() → Integer

Возвращает вертикальную позицию указателя мыши на экране.

Параметры

Без параметров.

Возвращает

Позиция y указателя в пикселях экрана; отрицательная на мониторе выше основного.

8 примеров: Цепочка else-if, Провести мышь по кругу, Прочитать цвет пикселя под курсором, Поместить окно в ячейку сетки 3×2 под курсором, Описать то, что под курсором, Щёлкнуть где-то и вернуть курсор на место, Перетаскивание из скрипта, Щелчок с Shift

MouseIsButtonDown​

MouseIsButtonDown(button: Integer) → Bool

Проверяет, удерживается ли кнопка мыши нажатой в данный момент.

Параметры

  • button: Integer — Константа MouseButton, например MouseButton.Primary. Primary и Secondary учитывают параметр Windows, меняющий кнопки местами; Left и Right — физические кнопки.

Возвращает

true, если кнопка нажата; false, если отпущена. Неизвестная кнопка останавливает скрипт с ошибкой.

MouseLockToRect​

MouseLockToRect(x: Integer, y: Integer, width: Integer, height: Integer) → Bool

Ограничивает перемещение указателя мыши прямоугольником на экране. Ограничение действует и после завершения скрипта, пока не будет вызвана MouseUnlock или другая программа его не изменит, поэтому всегда снимайте его по окончании.

Параметры

  • x: Integer — Левый край прямоугольника в пикселях экрана.
  • y: Integer — Верхний край прямоугольника в пикселях экрана.
  • width: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • height: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.

Возвращает

true, если указатель теперь ограничен; false, если width или height не положительны или Windows отказала.

1 пример: Ограничить курсор окном на 5 секунд

MouseMoveTo​

MouseMoveTo(x: Integer, y: Integer) → Bool · Простой

Перемещает указатель мыши в точку экрана на любом мониторе, как если бы пользователь сдвинул мышь.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях.
  • y: Integer — Вертикальная позиция на экране в пикселях.

Возвращает

true, если перемещение отправлено; false, если Windows его заблокировала.

3 примера: Провести мышь по кругу, Щёлкнуть где-то и вернуть курсор на место, Перетаскивание из скрипта

MouseScrollHorizontal​

MouseScrollHorizontal(amount: Integer) → Bool · Простой

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

Параметры

  • amount: Integer — Величина поворота колеса, где 120 — один щелчок: положительное значение прокручивает вправо, отрицательное — влево. Меньшие значения прокручивают плавнее в приложениях, которые это поддерживают.

Возвращает

true, если прокрутка отправлена; false, если Windows её заблокировала.

1 пример: Прокрутка на несколько делений

MouseScrollVertical​

MouseScrollVertical(amount: Integer) → Bool · Простой

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

Параметры

  • amount: Integer — Величина поворота колеса, где 120 — один щелчок: положительное значение прокручивает вверх, отрицательное — вниз. Меньшие значения прокручивают плавнее в приложениях, которые это поддерживают.

Возвращает

true, если прокрутка отправлена; false, если Windows её заблокировала.

1 пример: Прокрутка на несколько делений

MouseUnlock​

MouseUnlock() → Bool

Снимает с указателя мыши любое ограничение перемещения, установленное MouseLockToRect или другой программой.

Параметры

Без параметров.

Возвращает

true, если указатель свободен; false, если Windows отказала.

1 пример: Ограничить курсор окном на 5 секунд

Multimedia​

MultimediaGetMute​

MultimediaGetMute(endpoint: Integer) → Bool

Сообщает, отключён ли в Windows звук устройства воспроизведения или микрофона по умолчанию, выбранного параметром endpoint.

Параметры

  • endpoint: Integer — Какое устройство проверить: AudioEndpoint.Playback (динамики или наушники по умолчанию), AudioEndpoint.Capture (микрофон по умолчанию) или AudioEndpoint.Communications (микрофон, используемый Windows для звонков). Любое другое значение останавливает действие с ошибкой.

Возвращает

true, если звук устройства отключён; false, если не отключён или устройство не существует (например, микрофон не подключён).

1 пример: Переключить отключение микрофона

MultimediaGetVolume​

MultimediaGetVolume(endpoint: Integer) → Real

Возвращает общую громкость устройства воспроизведения или микрофона по умолчанию, выбранного параметром endpoint, в виде Real от 0.0 до 1.0.

Параметры

  • endpoint: Integer — Какое устройство прочитать: AudioEndpoint.Playback (динамики или наушники по умолчанию), AudioEndpoint.Capture (микрофон по умолчанию) или AudioEndpoint.Communications (микрофон, используемый Windows для звонков). Любое другое значение останавливает действие с ошибкой.

Возвращает

Громкость от 0.0 (тишина) до 1.0 (максимум) в той же шкале, что и у MultimediaSetVolume; 0.0, если устройство не существует.

1 пример: Увеличение громкости с экранной индикацией

MultimediaPlayMp3File​

MultimediaPlayMp3File(path: Text) → Bool · Простой

Начинает воспроизведение файла MP3 и сразу возвращает управление, пока он играет. Запуск другого MP3 останавливает ещё звучащий.

Параметры

  • path: Text — Полный путь к файлу .mp3, например C:/Music/done.mp3.

Возвращает

true, если воспроизведение началось; false, если файл отсутствует, Windows не может открыть или воспроизвести его в течение 10 секунд или ожидание прервала остановка всех действий.

MultimediaPlayWavFile​

MultimediaPlayWavFile(path: Text) → Bool · Простой

Начинает воспроизведение звукового файла .wav и сразу возвращает управление, пока он играет. Запуск другого WAV останавливает ещё звучащий. Работают только файлы .wav; для MP3 используйте MultimediaPlayMp3File.

Параметры

  • path: Text — Полный путь к файлу .wav, например C:/Windows/Media/chimes.wav.

Возвращает

true, если файл существует и воспроизведение запущено; false, если по этому пути нет файла. Для существующего файла, который не является воспроизводимым WAV, возвращается true и ничего не звучит.

1 пример: Воспроизвести звук

MultimediaSetMute​

MultimediaSetMute(endpoint: Integer, muted: Bool) → Bool · Простой

Отключает или включает звук устройства воспроизведения или микрофона по умолчанию, выбранного параметром endpoint, как кнопка отключения звука в регуляторе громкости Windows.

Параметры

  • endpoint: Integer — Какое устройство изменить: AudioEndpoint.Playback (динамики или наушники по умолчанию), AudioEndpoint.Capture (микрофон по умолчанию) или AudioEndpoint.Communications (микрофон, используемый Windows для звонков). Любое другое значение останавливает действие с ошибкой.
  • muted: Bool — true — отключить звук устройства; false — включить его.

Возвращает

true, если состояние звука установлено; false, если устройство не существует или отклонило изменение.

1 пример: Переключатель, сохраняющийся между запусками

MultimediaSetVolume​

MultimediaSetVolume(endpoint: Integer, level: Real) → Bool · Простой

Устанавливает точный уровень общей громкости устройства воспроизведения или микрофона по умолчанию, выбранного параметром endpoint.

Параметры

  • endpoint: Integer — Какое устройство изменить: AudioEndpoint.Playback (динамики или наушники по умолчанию), AudioEndpoint.Capture (микрофон по умолчанию) или AudioEndpoint.Communications (микрофон, используемый Windows для звонков). Любое другое значение останавливает действие с ошибкой.
  • level: Real — Новая громкость от 0.0 (тишина) до 1.0 (максимум); 0.5 соответствует 50 на ползунке громкости Windows. Значения вне диапазона от 0.0 до 1.0 приводятся к его границам.

Возвращает

true, если громкость установлена; false, если устройство не существует или отклонило изменение.

2 примера: Увеличение громкости с экранной индикацией, Ручка Arduino как регулятор громкости

MultimediaToggleMute​

MultimediaToggleMute(endpoint: Integer) → Bool · Простой

Отключает звук устройства воспроизведения или микрофона по умолчанию, выбранного параметром endpoint, если он включён, или включает, если он отключён. Чтобы узнать новое состояние, затем вызовите MultimediaGetMute.

Параметры

  • endpoint: Integer — Какое устройство переключить: AudioEndpoint.Playback (динамики или наушники по умолчанию), AudioEndpoint.Capture (микрофон по умолчанию) или AudioEndpoint.Communications (микрофон, используемый Windows для звонков). Любое другое значение останавливает действие с ошибкой.

Возвращает

true, если состояние звука переключено; false, если устройство не существует или отклонило изменение. Это не новое состояние звука.

1 пример: Переключить отключение микрофона

Plugin​

PluginSendMessage​

PluginSendMessage(pluginName: Text, message: Text, timeoutSeconds: Integer) → Text

Отправляет текстовое сообщение запущенному плагину, принимающему команды, и ждёт его ответа. Плагин обрабатывает по одному сообщению за раз; сообщения, отправленные, пока он занят, ждут в очереди.

Параметры

  • pluginName: Text — Отображаемое имя плагина; сравнивается точно, с учётом регистра.
  • message: Text — Отправляемый текст. Его смысл определяет плагин.
  • timeoutSeconds: Integer — Время ожидания ответа в секундах, от 0 до 10; любое другое значение останавливает скрипт с ошибкой. При 0 вызов сразу возвращает пустой текст.

Возвращает

Ответ плагина или пустой текст, если он не ответил вовремя. Отсутствие такого запущенного плагина, переполненная очередь или слишком длинное сообщение останавливают скрипт с ошибкой.

1 пример: Общение с плагином

Region​

RegionGetCellIndexAt​

RegionGetCellIndexAt(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, pointX: Integer, pointY: Integer) → Integer

Делит прямоугольник на сетку из столбцов и строк и возвращает ячейку, содержащую точку. Ячейки нумеруются с 0 слева направо, затем сверху вниз.

Параметры

  • rectX: Integer — Левый край делимого прямоугольника в пикселях.
  • rectY: Integer — Верхний край делимого прямоугольника в пикселях.
  • rectWidth: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • rectHeight: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.
  • columns: Integer — Количество столбцов сетки. Должно быть больше 0. Оставшиеся пиксели распределяются по одному первым столбцам.
  • rows: Integer — Количество строк сетки. Должно быть больше 0. Оставшиеся пиксели распределяются по одному первым строкам.
  • pointX: Integer — Горизонтальная позиция искомой точки в тех же пикселях, что и rectX.
  • pointY: Integer — Вертикальная позиция искомой точки в тех же пикселях, что и rectY.

Возвращает

Номер ячейки (номер строки, умноженный на число столбцов, плюс номер столбца) или -1, если точка вне прямоугольника либо rectWidth, rectHeight, columns или rows не положительны.

1 пример: Поместить окно в ячейку сетки 3×2 под курсором

RegionGetHeight​

RegionGetHeight(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer

Возвращает высоту одной ячейки при делении прямоугольника на сетку из столбцов и строк. Оставшиеся пиксели распределяются по одному первым строкам.

Параметры

  • rectX: Integer — Левый край делимого прямоугольника в пикселях.
  • rectY: Integer — Верхний край делимого прямоугольника в пикселях.
  • rectWidth: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • rectHeight: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.
  • columns: Integer — Количество столбцов сетки. Должно быть больше 0.
  • rows: Integer — Количество строк сетки. Должно быть больше 0.
  • index: Integer — Номер ячейки, начиная с нуля, при счёте слева направо, затем сверху вниз, от 0 до произведения columns на rows минус 1.

Возвращает

Высота ячейки в пикселях или -1, если index вне диапазона либо rectWidth, rectHeight, columns или rows не положительны.

1 пример: Поместить окно в ячейку сетки 3×2 под курсором

RegionGetWidth​

RegionGetWidth(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer

Возвращает ширину одной ячейки при делении прямоугольника на сетку из столбцов и строк. Оставшиеся пиксели распределяются по одному первым столбцам.

Параметры

  • rectX: Integer — Левый край делимого прямоугольника в пикселях.
  • rectY: Integer — Верхний край делимого прямоугольника в пикселях.
  • rectWidth: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • rectHeight: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.
  • columns: Integer — Количество столбцов сетки. Должно быть больше 0.
  • rows: Integer — Количество строк сетки. Должно быть больше 0.
  • index: Integer — Номер ячейки, начиная с нуля, при счёте слева направо, затем сверху вниз, от 0 до произведения columns на rows минус 1.

Возвращает

Ширина ячейки в пикселях или -1, если index вне диапазона либо rectWidth, rectHeight, columns или rows не положительны.

1 пример: Поместить окно в ячейку сетки 3×2 под курсором

RegionGetX​

RegionGetX(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer

Возвращает левый край одной ячейки при делении прямоугольника на сетку из столбцов и строк. Оставшиеся пиксели распределяются по одному первым столбцам.

Параметры

  • rectX: Integer — Левый край делимого прямоугольника в пикселях.
  • rectY: Integer — Верхний край делимого прямоугольника в пикселях.
  • rectWidth: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • rectHeight: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.
  • columns: Integer — Количество столбцов сетки. Должно быть больше 0.
  • rows: Integer — Количество строк сетки. Должно быть больше 0.
  • index: Integer — Номер ячейки, начиная с нуля, при счёте слева направо, затем сверху вниз, от 0 до произведения columns на rows минус 1.

Возвращает

Левый край ячейки или -1, если index вне диапазона либо rectWidth, rectHeight, columns или rows не положительны. Настоящая ячейка тоже может начинаться с -1, поэтому сначала проверьте index.

1 пример: Поместить окно в ячейку сетки 3×2 под курсором

RegionGetY​

RegionGetY(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer

Возвращает верхний край одной ячейки при делении прямоугольника на сетку из столбцов и строк. Оставшиеся пиксели распределяются по одному первым строкам.

Параметры

  • rectX: Integer — Левый край делимого прямоугольника в пикселях.
  • rectY: Integer — Верхний край делимого прямоугольника в пикселях.
  • rectWidth: Integer — Ширина прямоугольника в пикселях. Должна быть больше 0.
  • rectHeight: Integer — Высота прямоугольника в пикселях. Должна быть больше 0.
  • columns: Integer — Количество столбцов сетки. Должно быть больше 0.
  • rows: Integer — Количество строк сетки. Должно быть больше 0.
  • index: Integer — Номер ячейки, начиная с нуля, при счёте слева направо, затем сверху вниз, от 0 до произведения columns на rows минус 1.

Возвращает

Верхний край ячейки или -1, если index вне диапазона либо rectWidth, rectHeight, columns или rows не положительны. Настоящая ячейка тоже может начинаться с -1, поэтому сначала проверьте index.

1 пример: Поместить окно в ячейку сетки 3×2 под курсором

Serial​

SerialClosePort​

SerialClosePort(port: Text) → Bool

Закрывает COM-порт, открытый с помощью SerialOpenPort, освобождая его для других программ, например Arduino IDE. Ещё не прочитанные принятые строки отбрасываются.

Параметры

  • port: Text — Имя порта, переданное в SerialOpenPort, например COM3. Регистр не имеет значения.

Возвращает

true, если порт был открыт и теперь закрыт; false, если он не был открыт или его занимает монитор последовательного порта (используйте SerialMonitorDelete).

1 пример: Задать вопрос устройству на COM-порту

SerialEnumeratePorts​

SerialEnumeratePorts() → Integer

Находит последовательные (COM) порты на этом компьютере, например подключённые по USB Arduino, ESP32 или адаптер USB — последовательный порт, и возвращает их количество. Каждое имя читается с помощью SerialGetEnumeratedPortAt.

Параметры

Без параметров.

Возвращает

Количество найденных COM-портов или 0, если их нет.

1 пример: Список COM-портов

SerialGetEnumeratedPortAt​

SerialGetEnumeratedPortAt(index: Integer) → Text

Возвращает одно имя порта, например COM3, из списка, составленного последним вызовом SerialEnumeratePorts в этом запуске скрипта. Какое устройство подключено к какому порту, показывает Диспетчер устройств.

Параметры

  • index: Integer — Позиция в списке, от 0 до количества минус 1. Имена сортируются по номеру, поэтому COM3 идёт перед COM10.

Возвращает

Имя порта или пустой текст, если index вне диапазона или SerialEnumeratePorts не вызывалась.

1 пример: Список COM-портов

SerialGetTextLine​

SerialGetTextLine(port: Text, timeoutSeconds: Integer, baudRate: Integer) → Text

Ждёт следующую полную строку из COM-порта и возвращает её, например показание датчика, результат сканирования штрихкода или ответ устройства. Блокирует скрипт не дольше timeoutSeconds; остановка всех действий прерывает ожидание.

Параметры

  • port: Text — Имя порта, например COM3. Сначала откройте его с помощью SerialOpenPort, чтобы выбрать параметры и не потерять строки, пришедшие раньше; иначе он открывается на скорости baudRate только на время этого ожидания.
  • timeoutSeconds: Integer — Максимальное время ожидания в секундах. 0 — ждать, пока не придёт строка или скрипт не будет остановлен. Отрицательное значение останавливает скрипт с ошибкой.
  • baudRate: Integer — Скорость в битах в секунду, используется, только если порт открывает сам этот вызов, например 9600 или 115200; для порта, открытого с помощью SerialOpenPort, не учитывается. 0 или меньше останавливает скрипт с ошибкой.

Возвращает

Строка без символов завершения или пустой текст, если строка не пришла вовремя, порт не удалось открыть или устройство отключено. Останавливает скрипт с ошибкой, если порт занимает монитор последовательного порта.

2 примера: Задать вопрос устройству на COM-порту, Держать порт Arduino открытым и отправлять ей команды

SerialMonitorCreate​

SerialMonitorCreate(name: Text, port: Text, baudRate: Integer, parity: Integer, dataBits: Integer, stopBits: Integer, terminator: Text, script: Text) → Bool

Открывает COM-порт и выполняет скрипт для каждой строки, которую отправляет устройство, например чтобы превратить кнопочный пульт или макропанель на Arduino в набор ярлыков. Монитор продолжает работать после завершения этого скрипта. Остановка всех действий прерывает скрипт, выполняющийся для строки, и отбрасывает ожидающие строки; монитор продолжает работать.

Параметры

  • name: Text — Имя монитора. Повторное использование имени текущего монитора этого порта заменяет его; имя, которое уже отслеживает другой порт, останавливает скрипт с ошибкой. Регистр не имеет значения.
  • port: Text — Имя порта, например COM3. К какому порту подключена плата, показывает Диспетчер устройств.
  • baudRate: Integer — Скорость в битах в секунду. Она должна совпадать с устройством, например 9600 или 115200 в Serial.begin скетча Arduino.
  • parity: Integer — Константа SerialParity. Большинство устройств, включая платы Arduino, используют SerialParity.None.
  • dataBits: Integer — Число битов на символ в виде простого числа. Почти все устройства используют 8.
  • stopBits: Integer — Константа SerialStopBits, обычно SerialStopBits.One. Используйте константу: простое число 1 означает полтора стоповых бита.
  • terminator: Text — Текст, завершающий каждую строку: он удаляется из принятых строк и добавляется к каждой строке, которую отправляет SerialWriteTextLine. Пустой текст означает CR LF, что отправляет Serial.println в Arduino. Используйте '\n' для устройств, завершающих строки только LF, или '\r' — только CR.
  • script: Text — Скрипт, выполняемый для каждой принятой строки, в виде Text. Он читает строку с помощью ContextGetSerialTextLine. Строки обрабатываются по одной, в порядке поступления; пока скрипт выполняется, ожидать могут до 256 строк, сверх этого отбрасываются самые старые.

Возвращает

true, когда монитор запущен; false, если порт отсутствует, отключён или используется другой программой. Останавливает скрипт с ошибкой, если порт открыт с помощью SerialOpenPort или отслеживается под другим именем либо это имя уже отслеживает другой порт. Отключение устройства завершает работу монитора и записывает строку на вкладку «Система» консоли.

2 примера: Кнопки устройства на COM-порту как мультимедийные клавиши, Ручка Arduino как регулятор громкости

SerialMonitorDelete​

SerialMonitorDelete(name: Text) → Bool

Останавливает монитор последовательного порта, созданный с помощью SerialMonitorCreate, и закрывает его COM-порт, чтобы другие программы снова могли использовать порт. Ещё не обработанные строки отбрасываются; уже выполняющийся скрипт завершается.

Параметры

  • name: Text — Имя, переданное в SerialMonitorCreate. Регистр не имеет значения.

Возвращает

true, если монитор с этим именем найден и остановлен; false, если такого не было.

SerialMonitorDeleteAll​

SerialMonitorDeleteAll() → Bool

Останавливает все мониторы последовательных портов и закрывает их COM-порты. Порты, открытые с помощью SerialOpenPort, остаются открытыми.

Параметры

Без параметров.

Возвращает

Всегда true.

SerialMonitorGetCount​

SerialMonitorGetCount() → Integer

Возвращает количество работающих мониторов последовательных портов и делает снимок их имён для SerialMonitorGetEnumeratedNameAt.

Параметры

Без параметров.

Возвращает

Количество работающих мониторов последовательных портов или 0, если их нет.

SerialMonitorGetEnumeratedNameAt​

SerialMonitorGetEnumeratedNameAt(index: Integer) → Text

Возвращает одно имя монитора из снимка, сделанного последним вызовом SerialMonitorGetCount в этом запуске скрипта.

Параметры

  • index: Integer — Позиция в снимке, от 0 до количества минус 1. Порядок не имеет значения.

Возвращает

Имя монитора или пустой текст, если index вне диапазона или SerialMonitorGetCount не вызывалась.

SerialOpenPort​

SerialOpenPort(port: Text, baudRate: Integer, parity: Integer, dataBits: Integer, stopBits: Integer, terminator: Text) → Bool

Открывает COM-порт и держит его открытым до SerialClosePort, собирая каждую принятую строку для SerialGetTextLine. При открытии включаются сигналы DTR и RTS, из-за чего многие платы Arduino перезапускаются, как и в Arduino IDE, поэтому откройте порт один раз и используйте повторно.

Параметры

  • port: Text — Имя порта, например COM3. Его показывает Диспетчер устройств или SerialEnumeratePorts. Пустой текст останавливает скрипт с ошибкой.
  • baudRate: Integer — Скорость в битах в секунду. Она должна совпадать с устройством, например 9600 или 115200 в Serial.begin скетча Arduino.
  • parity: Integer — Константа SerialParity. Большинство устройств, включая платы Arduino, используют SerialParity.None.
  • dataBits: Integer — Число битов на символ в виде простого числа. Почти все устройства используют 8.
  • stopBits: Integer — Константа SerialStopBits, обычно SerialStopBits.One. Используйте константу: простое число 1 означает полтора стоповых бита.
  • terminator: Text — Текст, завершающий каждую строку: он удаляется из принятых строк и добавляется к каждой строке, которую отправляет SerialWriteTextLine. Пустой текст означает CR LF, что отправляет Serial.println в Arduino. Используйте '\n' для устройств, завершающих строки только LF, или '\r' — только CR.

Возвращает

true, если порт открыт; false, если он отсутствует, отключён, используется другой программой, например монитором последовательного порта, или отклонил параметры. Останавливает скрипт с ошибкой, если порт уже открыт в Input.Observer или его занимает монитор последовательного порта.

2 примера: Задать вопрос устройству на COM-порту, Держать порт Arduino открытым и отправлять ей команды

SerialWriteTextLine​

SerialWriteTextLine(port: Text, text: Text, baudRate: Integer) → Bool

Отправляет в COM-порт строку текста с окончанием строки этого порта, например команду для Arduino или строку G-кода для 3D-принтера. Работает с портом, открытым через SerialOpenPort или занятым монитором последовательного порта, поэтому скрипт монитора может отвечать своему устройству. Не открытый порт открывается на скорости baudRate, 8-N-1, только для этой записи.

Параметры

  • port: Text — Имя порта, например COM3. Сначала откройте его с помощью SerialOpenPort, чтобы выбрать параметры и избежать перезапуска плат, которые сбрасываются при открытии порта.
  • text: Text — Отправляемая строка в кодировке UTF-8. Не добавляйте конец строки: добавляется завершитель, с которым открыт порт, или CR LF, если порт открывает сам этот вызов.
  • baudRate: Integer — Скорость в битах в секунду, используется, только если порт открывает сам этот вызов, например 9600 или 115200; для уже открытого или отслеживаемого порта не учитывается. 0 или меньше останавливает скрипт с ошибкой.

Возвращает

true, если строка отправлена; false, если порт не удалось открыть, запись не удалась или время записи истекло.

2 примера: Задать вопрос устройству на COM-порту, Держать порт Arduino открытым и отправлять ей команды

Shell​

ShellEmptyRecycleBins​

ShellEmptyRecycleBins() → Bool · Простой

Безвозвратно удаляет всё содержимое корзины на всех дисках без запроса подтверждения. Это действие нельзя отменить.

Параметры

Без параметров.

Возвращает

true, если корзины очищены или уже были пусты; иначе false.

ShellEnumerateProcessIdsByExeRegex​

ShellEnumerateProcessIdsByExeRegex(pattern: Text) → Integer

Находит все запущенные процессы, имя файла программы которых, например notepad.exe, соответствует регулярному выражению, и возвращает их количество. Каждый идентификатор процесса читается с помощью ShellGetEnumeratedProcessIdAt.

Параметры

  • pattern: Text — Регулярное выражение, сопоставляемое без учёта регистра только с именем файла, а не с полным путём. Чтобы совпадало всё имя, используйте ^ и $, например ^notepad[.]exe$.

Возвращает

Количество подходящих процессов или 0, если подходящих нет. Недопустимый шаблон останавливает скрипт с ошибкой.

1 пример: От процесса к окну

ShellExpandEnvironmentVariables​

ShellExpandEnvironmentVariables(text: Text) → Text

Заменяет каждую переменную среды в тексте, записанную как имя между двумя знаками процента, например USERPROFILE или TEMP, её значением. Удобно для построения путей, работающих на любом компьютере.

Параметры

  • text: Text — Текст с именами переменных среды между знаками процента, например путь в папке профиля пользователя.

Возвращает

Текст, в котором заменены все известные переменные; неизвестные переменные остаются как есть. Пустой текст, если подстановка не удалась.

8 примеров: Сегодняшняя дата и имя файла с отметкой времени, Снимок обведённой области, Сохранить скопированное изображение в файл, Дописать в файл журнала, Подсчитать типы файлов в папке, Сделать резервную копию файла перед изменением, Отслеживать папку, Развернуть переменные среды

ShellGetEnumeratedProcessIdAt​

ShellGetEnumeratedProcessIdAt(index: Integer) → Integer

Возвращает один идентификатор процесса из списка, составленного последним вызовом ShellEnumerateProcessIdsByExeRegex в этом запуске скрипта.

Параметры

  • index: Integer — Позиция в списке, от 0 до количества минус 1.

Возвращает

Идентификатор процесса или 0, если index вне диапазона или ShellEnumerateProcessIdsByExeRegex не вызывалась.

1 пример: От процесса к окну

ShellGetSystemMetricsByIndex​

ShellGetSystemMetricsByIndex(index: Integer) → Integer

Возвращает системный размер или параметр Windows по его индексу GetSystemMetrics, например 0 для ширины основного экрана или 80 для количества мониторов.

Параметры

  • index: Integer — Номер индекса Windows SM_, например 0 (SM_CXSCREEN) или 1 (SM_CYSCREEN). Именованных констант для них нет.

Возвращает

Значение, сообщаемое Windows, часто в пикселях, или 0 для неизвестного индекса.

ShellRun​

ShellRun(command: Text) → Bool · Простой

Запускает программу или открывает файл, папку или веб-адрес, как при вводе в окне «Выполнить» Windows (Win+R). Не ждёт завершения программы.

Параметры

  • command: Text — Имя программы, например notepad.exe, путь или веб-адрес, при необходимости с аргументами. Если за путём с пробелами следуют аргументы, заключите путь в одинарные кавычки.

Возвращает

true, если Windows запустила объект; false, если его не удалось найти или запустить. При ошибке окно ошибки Windows не показывается.

4 примера: Цикл while: ждать окно с тайм-аутом, Запустить программу, дождаться её окна и действовать в нём, Найти выделенный текст в интернете, Найти выделение в интернете

ShellRunOrActivate​

ShellRunOrActivate(exeName: Text) → Bool · Простой

Выводит окно программы на передний план, если программа уже запущена, или выполняет команду, если нет. Удобно для жеста, который всегда переключает на одну и ту же программу.

Параметры

  • exeName: Text — Имя файла программы, например notepad или notepad.exe, или полный путь к нему, за которым могут следовать аргументы, используемые только при запуске. Запущенные окна сопоставляются по имени файла из первого слова, к которому добавляется .exe, если расширения нет; путь, содержащий пробелы, заключите в одинарные кавычки.

Возвращает

true, если окно выведено на передний план или программа запущена; false, если Windows отказалась выводить окно на передний план или запуск не удался.

1 пример: Запустить приложение или переключиться на него

ShellRunProgram​

ShellRunProgram(path: Text, arguments: Text, verb: Any, windowStyle: Integer, waitForExit: Bool) → Bool

Запускает программу или открывает файл с выбранным действием (verb) и стилем окна и может ждать его закрытия. Чтобы запустить программу от имени администратора, используйте ShellVerb.RunAs.

Параметры

  • path: Text — Открываемая программа, документ или папка, например notepad.exe или полный путь к файлу.
  • arguments: Text — Аргументы командной строки для программы или пустой текст, если их нет.
  • verb: Any — Константа ShellVerb, например ShellVerb.Open или ShellVerb.Print, или любое поддерживаемое типом файла действие в виде Text. Пустой текст использует действие по умолчанию.
  • windowStyle: Integer — Константа WindowStyle: WindowStyle.Normal, WindowStyle.Minimized, WindowStyle.Maximized или WindowStyle.Hidden. Любое другое значение останавливает скрипт с ошибкой. Некоторые программы её игнорируют.
  • waitForExit: Bool — true — блокировать скрипт до закрытия программы; остановка всех действий прерывает ожидание, а программа продолжает работать. false — сразу продолжить.

Возвращает

true, если Windows запустила объект (а при waitForExit — если он закрылся); false, если запуск не удался, запрос администратора был отклонён или ожидание прервала остановка всех действий. При ошибке окно ошибки Windows не показывается.

2 примера: Запустить программу с глаголом и стилем окна, Запустить и дождаться завершения

ShellRunStoreApp​

ShellRunStoreApp(packageName: Text) → Bool · Простой

Запускает установленное приложение Microsoft Store по имени пакета, его части или имени в меню «Пуск», например Microsoft.WindowsCalculator или Калькулятор. Обычные классические программы не учитываются; для них используйте ShellRun.

Параметры

  • packageName: Text — Имя семейства пакетов приложения или его часть либо точное имя в меню «Пуск»; сравнивается без учёта регистра. Приоритет у точного имени семейства пакетов, затем у точного имени в меню «Пуск», затем у первого приложения, имя семейства пакетов которого содержит этот текст.

Возвращает

true, если приложение запущено; false, если packageName пусто, ни одно установленное приложение Store не подходит или запуск не удался.

ShellShowToast​

ShellShowToast(title: Text, message: Text) → Bool · Простой

Показывает всплывающее уведомление Windows с заголовком и сообщением. Ждёт только, пока Windows его примет, а не пока его закроют.

Параметры

  • title: Text — Первая строка уведомления, выделенная полужирным.
  • message: Text — Текст, отображаемый под заголовком.

Возвращает

true, если уведомление показано; false, если уведомления отключены в общих настройках, Windows его отклонила или ожидание прервала остановка всех действий.

9 примеров: Закрепить окно поверх остальных, Снимок обведённой области, Сохранить скопированное изображение в файл, Переключатель, сохраняющийся между запусками, Уведомление Windows, Переключить отключение микрофона, Запустить и дождаться завершения, Переключиться на следующий профиль жестов, Состояние движка

ShellTerminateProcess​

ShellTerminateProcess(processId: Integer) → Bool

Немедленно завершает процесс, как команда «Снять задачу» в диспетчере задач. Несохранённые данные в этой программе будут потеряны.

Параметры

  • processId: Integer — Идентификатор процесса, например полученный от WindowGetProcessId или ShellGetEnumeratedProcessIdAt. Значение 0 или меньше, собственный процесс Input.Observer и системные процессы Windows останавливают скрипт с ошибкой.

Возвращает

true, если процесс завершён; false, если он уже завершился или Windows отказала в доступе, например для программы, запущенной от имени администратора.

Snippet​

SnippetExecuteScript​

SnippetExecuteScript(name: Text) → Bool · Простой

Выполняет фрагмент с этим именем и ждёт его завершения. Фрагмент видит контекст триггера вызывающего скрипта, но имеет собственные переменные.

Параметры

  • name: Text — Имя фрагмента; сравнивается точно, с учётом регистра.

Возвращает

true, если фрагмент выполнен до конца; false, если фрагмента с таким именем нет либо фрагмент пуст, содержит ошибку или был остановлен.

1 пример: Фрагменты как повторно используемые функции

SnippetGetScript​

SnippetGetScript(name: Text) → Text

Возвращает текст скрипта фрагмента с этим именем, не выполняя его, например чтобы передать в TimerCreate.

Параметры

  • name: Text — Имя фрагмента; сравнивается точно, с учётом регистра.

Возвращает

Текст скрипта фрагмента или пустой текст, если фрагмента с таким именем нет.

1 пример: Скрипт таймера из фрагмента, без экранирования

Storage​

StorageClearAll​

StorageClearAll() → Bool

Удаляет все значения, сохранённые с помощью StorageSetValue, для всех действий. Постоянные значения не затрагиваются.

Параметры

Без параметров.

Возвращает

Всегда true.

StorageClearAllPersistent​

StorageClearAllPersistent() → Bool

Удаляет все постоянные значения и стирает их из storage.toml, чтобы ни одно из них не вернулось после перезапуска. Значения, сохранённые с помощью StorageSetValue, не затрагиваются.

Параметры

Без параметров.

Возвращает

Всегда true.

StorageClearPersistentValue​

StorageClearPersistentValue(key: Text) → Bool

Удаляет одно постоянное значение и стирает его из storage.toml. Если ключ не сохранён, ничего не происходит.

Параметры

  • key: Text — Имя удаляемого значения. Прописные и строчные буквы различаются.

Возвращает

Всегда true, независимо от того, был ли ключ сохранён.

StorageClearValue​

StorageClearValue(key: Text) → Bool

Удаляет одно значение, сохранённое с помощью StorageSetValue. Если ключ не сохранён, ничего не происходит.

Параметры

  • key: Text — Имя удаляемого значения. Прописные и строчные буквы различаются.

Возвращает

Всегда true, независимо от того, был ли ключ сохранён.

StorageGetPersistentValue​

StorageGetPersistentValue(key: Text) → Any

Читает значение, сохранённое с помощью StorageSetPersistentValue, в том числе сохранённое до последнего перезапуска Input.Observer.

Параметры

  • key: Text — Имя, под которым сохранено значение. Прописные и строчные буквы различаются.

Возвращает

Сохранённое значение с его видом (Bool, Integer, Real или Text) или Integer 0, если ключ не сохранён. Чтобы отличить отсутствующий ключ от сохранённого 0, используйте StorageHasPersistentValue.

1 пример: Счётчик, переживающий перезапуск

StorageGetValue​

StorageGetValue(key: Text) → Any

Читает значение, сохранённое с помощью StorageSetValue этим или любым другим действием с момента запуска Input.Observer.

Параметры

  • key: Text — Имя, под которым сохранено значение. Прописные и строчные буквы различаются.

Возвращает

Сохранённое значение с его видом (Bool, Integer, Real, Text или Window) или Integer 0, если ключ не сохранён. Чтобы отличить отсутствующий ключ от сохранённого 0, используйте StorageHasValue.

5 примеров: && и || вычисляют обе стороны, Повторяющийся таймер со счётчиком, Переключатель, сохраняющийся между запусками, Список в Storage, Фрагменты как повторно используемые функции

StorageHasPersistentValue​

StorageHasPersistentValue(key: Text) → Bool

Проверяет, сохранено ли постоянное значение под указанным именем. Используйте её, чтобы отличить отсутствующий ключ от сохранённых 0, false или пустого текста.

Параметры

  • key: Text — Искомое имя. Прописные и строчные буквы различаются.

Возвращает

true, если под key сохранено постоянное значение; иначе false.

StorageHasValue​

StorageHasValue(key: Text) → Bool

Проверяет, сохранено ли значение под указанным именем с помощью StorageSetValue. Используйте её, чтобы отличить отсутствующий ключ от сохранённых 0, false или пустого текста.

Параметры

  • key: Text — Искомое имя. Прописные и строчные буквы различаются.

Возвращает

true, если под key сохранено значение; иначе false.

StorageSetPersistentValue​

StorageSetPersistentValue(key: Text, value: Any) → Bool

Сохраняет значение под именем, которое переживает перезапуск, в файле storage.toml рядом с файлом конфигурации. Это обычный текстовый файл, он никогда не шифруется: не храните в нём пароли и другие секреты.

Параметры

  • key: Text — Имя для сохранения, до 256 символов. Прописные и строчные буквы различаются. Заменяет любое значение, уже сохранённое под этим именем.
  • value: Any — Сохраняемое значение: Bool, Integer, Real или Text (до 32 768 символов). Оно возвращается с тем же видом. Window сохранить нельзя.

Возвращает

true, когда значение сохранено. false, если storage.toml существовал, но его не удалось прочитать при запуске: тогда сохранение отключено до следующего запуска, а значение хранится только до завершения работы Input.Observer. Значение-окно, ключ длиннее 256 символов, Text длиннее 32 768 символов или новый ключ сверх 1 024 сохранённых значений останавливают действие с ошибкой.

1 пример: Счётчик, переживающий перезапуск

StorageSetValue​

StorageSetValue(key: Text, value: Any) → Bool

Сохраняет значение под именем, чтобы последующие запуски этого или любого другого действия могли его прочитать. Значения хранятся до выхода из Input.Observer; чтобы сохранить значение между перезапусками, используйте StorageSetPersistentValue.

Параметры

  • key: Text — Имя для сохранения, до 256 символов. Прописные и строчные буквы различаются. Заменяет любое значение, уже сохранённое под этим именем, независимо от его вида.
  • value: Any — Сохраняемое значение: Bool, Integer, Real, Text (до 32 768 символов) или Window. Оно возвращается с тем же видом.

Возвращает

true, когда значение сохранено. Ключ длиннее 256 символов, Text длиннее 32 768 символов или новый ключ сверх 1 024 сохранённых значений останавливают действие с ошибкой.

5 примеров: && и || вычисляют обе стороны, Повторяющийся таймер со счётчиком, Переключатель, сохраняющийся между запусками, Список в Storage, Фрагменты как повторно используемые функции

String​

StringContains​

StringContains(text: Text, search: Text) → Bool

Проверяет, содержит ли текст другой фрагмент текста в любом месте. Регистр букв должен совпадать; для проверки без учёта регистра примените StringToLower к обоим текстам.

Параметры

  • text: Text — Текст, в котором выполняется поиск.
  • search: Text — Искомый текст.

Возвращает

true, если search встречается в text или search пуст; иначе false.

1 пример: Сравнения без учёта регистра

StringEndsWith​

StringEndsWith(text: Text, suffix: Text) → Bool

Проверяет, оканчивается ли текст указанным фрагментом, например расширением файла. Регистр букв должен совпадать.

Параметры

  • text: Text — Проверяемый текст.
  • suffix: Text — Искомое окончание, например '.pdf'.

Возвращает

true, если text оканчивается на suffix или suffix пуст; иначе false.

1 пример: Подсчитать типы файлов в папке

StringFormat​

StringFormat(format: Text, value0: Any, value1: Any) → Text

Составляет текст, заменяя каждое {0} в format на value0 и каждое {1} на value1. Так число, Bool или окно превращаются в Text.

Параметры

  • format: Text — Текст с заполнителями {0} и {1}. Заполнителя {2} нет; для большего числа значений используйте вложенные вызовы. {0} заменяется первым, поэтому {1} внутри value0 тоже заменяется.
  • value0: Any — Значение для {0} любого вида.
  • value1: Any — Значение для {1} любого вида. Если в format нет {1}, передайте пустой текст.

Возвращает

Текст format с заменёнными заполнителями. Real выводится с шестью знаками после запятой; true и false выводятся словами.

50 примеров: Пять типов значений, Циклы со счётчиком: вверх, вниз и с шагом, Вложенные циклы: таблица умножения, while (true) с флагом выхода, Сюрпризы приоритета, && и || вычисляют обе стороны, Равенство разных типов, Арифметика смешанных типов даёт 0, Комментарии, пустые инструкции и блоки, Деление Integer и Real, деление на ноль, Остаток без %, Округление и встроенные функции для Real, Ограничить значение диапазоном, Случайные числа и подбрасывание монеты, Длина штриха жеста, Форматирование Real без шести знаков после запятой, Маски флагов: установка, сброс, переключение, проверка, Прочитать цвет пикселя под курсором, Подсчитать установленные биты, Граничные случаи сдвига, Обменять два Integer, Биты состояния клавиши, Форматирование более двух значений, Разбить и перебрать, Вложенные разбиения: пары key=value, Последнее вхождение: расширение файла, Дополнить число нулями, Подсчитать слова в буфере обмена, Порядок текста — порядковый, Именованные константы и простые числа, Список видимых окон верхнего уровня, Свернуть все окна одного приложения, Закрыть окна по шаблону заголовка после подтверждения, Исследовать дочерние элементы управления окна, От процесса к окну, Описать то, что под курсором, Всё, что знает контекст триггера, Дописать в файл журнала, Прочитать файл и подсчитать его строки, Подсчитать типы файлов в папке, Повторяющийся таймер со счётчиком, Счётчик, переживающий перезапуск, Список в Storage, Увеличение громкости с экранной индикацией, Обновляемое на лету экранное сообщение, Уведомление Windows, Список мониторов, Состояние движка, Фрагменты как повторно используемые функции, Держать порт Arduino открытым и отправлять ей команды

StringFromNumber​

StringFromNumber(number: Any, decimals: Integer, invariantCulture: Bool) → Text

Преобразует число в текст — либо в региональном формате пользователя с разделителями групп разрядов для отображения, либо в фиксированном машинном формате для файлов и устройств.

Параметры

  • number: Any — Преобразуемое значение Integer или Real.
  • decimals: Integer — Сколько цифр после десятичного разделителя, от 0 до 15, с округлением; или -1 — столько, сколько нужно значению (для Integer — ни одной).
  • invariantCulture: Bool — true — машинный текст: точка в качестве десятичного разделителя, без группировки разрядов, читается обратно с помощью StringToNumber(text, true). false — региональный формат пользователя.

Возвращает

Число в виде текста, например 1 234,50 или 1234.5. Пустой текст, если Real не является конечным числом. Значение, не являющееся числом, или decimals вне диапазона останавливают действие с ошибкой.

1 пример: Прочитать число, введённое человеком

StringGetIndexOf​

StringGetIndexOf(text: Text, search: Text) → Integer

Находит, где фрагмент текста впервые встречается в другом тексте. Регистр букв должен совпадать. Позиции отсчитываются от 0.

Параметры

  • text: Text — Текст, в котором выполняется поиск.
  • search: Text — Искомый текст.

Возвращает

Позиция первого вхождения, начиная с 0, 0, если search пуст, или -1, если search не встречается в text.

1 пример: && и || вычисляют обе стороны

StringGetLength​

StringGetLength(text: Text) → Integer

Возвращает количество символов в тексте с учётом пробелов и переводов строки. Позиции, используемые StringGetSubstring, отсчитываются так же.

Параметры

  • text: Text — Измеряемый текст.

Возвращает

Количество символов или 0 для пустого текста. Некоторые эмодзи и редкие символы считаются за 2.

3 примера: Последнее вхождение: расширение файла, Дополнить число нулями, Развернуть Text

StringGetSplitPartAt​

StringGetSplitPartAt(index: Integer) → Text

Возвращает одну часть из результата последнего вызова StringSplit в этом запуске скрипта.

Параметры

  • index: Integer — Номер части, начиная с 0, от 0 до возвращённого StringSplit количества минус 1.

Возвращает

Текст части или пустой текст, если index вне диапазона или StringSplit не вызывалась в этом запуске.

6 примеров: break и continue, Разбить и перебрать, Вложенные разбиения: пары key=value, Подсчитать слова в буфере обмена, Объединить строки из буфера обмена в одну, Прочитать файл и подсчитать его строки

StringGetSubstring​

StringGetSubstring(text: Text, start: Integer, length: Integer) → Text

Возвращает часть текста: не более length символов, начиная с позиции start. Позиции отсчитываются от 0.

Параметры

  • text: Text — Текст, из которого берётся часть.
  • start: Integer — Позиция первого берущегося символа, начиная с 0. Не должна быть отрицательной.
  • length: Integer — Максимальное количество берущихся символов. Не должно быть отрицательным.

Возвращает

Запрошенная часть (короче, если текст заканчивается раньше) или пустой текст, если start находится в конце текста или за ним. Отрицательные start или length останавливают действие с ошибкой.

4 примера: && и || вычисляют обе стороны, Integer в шестнадцатеричный текст, Последнее вхождение: расширение файла, Развернуть Text

StringIsNumber​

StringIsNumber(text: Text, invariantCulture: Bool) → Bool

Проверяет, является ли текст числом, которое может прочитать StringToNumber, например то, что пользователь ввёл в UIShowInputBox. Пробелы вокруг числа игнорируются.

Параметры

  • text: Text — Проверяемый текст.
  • invariantCulture: Bool — true — машинный текст: точка в качестве десятичного разделителя и без группировки разрядов. false — региональный формат пользователя, как его ввёл бы человек; группы разрядов тогда должны соответствовать размерам групп этого формата.

Возвращает

true, если текст является числом в выбранном формате; иначе false, в том числе для пустого текста.

2 примера: Прочитать число, введённое человеком, Ручка Arduino как регулятор громкости

StringRegexGetGroupAt​

StringRegexGetGroupAt(index: Integer) → Text

Возвращает всё совпадение или одну группу захвата из последнего успешного вызова StringRegexMatch в этом запуске скрипта.

Параметры

  • index: Integer — 0 — всё совпадение; 1 и далее — группы захвата в порядке появления их открывающих скобок. Именованные группы тоже нумеруются.

Возвращает

Совпавший текст или пустой текст, если index вне диапазона, группа не участвовала в совпадении или последний вызов StringRegexMatch не нашёл совпадения.

1 пример: Извлечь значение из скопированного текста регулярным выражением

StringRegexMatch​

StringRegexMatch(text: Text, pattern: Text) → Bool

Проверяет, совпадает ли регулярное выражение (синтаксис PCRE2) с каким-либо местом текста, и запоминает совпадение и его группы для StringRegexGetGroupAt.

Параметры

  • text: Text — Текст, в котором выполняется поиск.
  • pattern: Text — Регулярное выражение. Учитывает регистр; чтобы игнорировать регистр, начните его с (?i). Классы символов, например буквы слова и цифры, следуют правилам Юникода.

Возвращает

true, если шаблон совпадает; иначе false. Недопустимый шаблон или шаблон, требующий слишком много шагов на этом тексте, останавливает действие с ошибкой.

1 пример: Извлечь значение из скопированного текста регулярным выражением

StringRegexReplace​

StringRegexReplace(text: Text, pattern: Text, replacement: Text) → Text

Заменяет каждое совпадение регулярного выражения (синтаксис PCRE2) в тексте на замену, которая может включать совпавшие группы.

Параметры

  • text: Text — Изменяемый текст.
  • pattern: Text — Регулярное выражение. Учитывает регистр; чтобы игнорировать регистр, начните его с (?i).
  • replacement: Text — Текст, подставляемый вместо каждого совпадения. $1 или ${1} вставляет группу 1, ${name} — именованную группу, $0 — всё совпадение, а $$ — сам знак доллара.

Возвращает

Текст со всеми заменёнными совпадениями или неизменённый text, если совпадений нет. Недопустимые шаблон или замена, слишком много шагов или результат длиннее 16 миллионов символов останавливают действие с ошибкой.

1 пример: Извлечь значение из скопированного текста регулярным выражением

StringReplace​

StringReplace(text: Text, search: Text, replacement: Text) → Text

Заменяет каждое вхождение фрагмента текста другим текстом. Регистр букв должен совпадать. Поиск ведётся по буквальному тексту, а не по шаблону.

Параметры

  • text: Text — Изменяемый текст.
  • search: Text — Искомый текст. Не должен быть пустым.
  • replacement: Text — Текст, подставляемый вместо него. Может быть пустым, чтобы удалить все вхождения.

Возвращает

Текст со всеми заменёнными вхождениями или неизменённый text, если search не встречается. Пустой search останавливает действие с ошибкой.

3 примера: Подсчитать слова в буфере обмена, Заполнить шаблон и вставить его, Найти выделение в интернете

StringSplit​

StringSplit(text: Text, delimiter: Text) → Integer

Разбивает текст на части в каждом месте вхождения разделителя и запоминает части для StringGetSplitPartAt. Соседние разделители или разделитель в начале или конце дают пустые части.

Параметры

  • text: Text — Разбиваемый текст.
  • delimiter: Text — Буквальный текст, по которому выполняется разбиение, например ',' или перевод строки. Не должен быть пустым.

Возвращает

Количество частей, не меньше 1. Пустой разделитель останавливает действие с ошибкой.

6 примеров: break и continue, Разбить и перебрать, Вложенные разбиения: пары key=value, Подсчитать слова в буфере обмена, Объединить строки из буфера обмена в одну, Прочитать файл и подсчитать его строки

StringStartsWith​

StringStartsWith(text: Text, prefix: Text) → Bool

Проверяет, начинается ли текст с указанного фрагмента. Регистр букв должен совпадать.

Параметры

  • text: Text — Проверяемый текст.
  • prefix: Text — Искомое начало.

Возвращает

true, если text начинается с prefix или prefix пуст; иначе false.

2 примера: break и continue, Прочитать файл и подсчитать его строки

StringToLower​

StringToLower(text: Text) → Text

Преобразует текст в нижний регистр по правилам регионального формата Windows пользователя (например, турецкие i с точкой и без точки).

Параметры

  • text: Text — Преобразуемый текст.

Возвращает

Текст в нижнем регистре или неизменённый text, если Windows не может его преобразовать.

4 примера: Сравнения без учёта регистра, Порядок текста — порядковый, Пропустить нераспознанный рисунок, Подсчитать типы файлов в папке

StringToNumber​

StringToNumber(text: Text, invariantCulture: Bool) → Any

Читает число из текста, например из пользовательского ввода, файла или последовательного устройства. Пробелы вокруг числа игнорируются; допускается экспонента, например 1.5e3.

Параметры

  • text: Text — Читаемый текст.
  • invariantCulture: Bool — true — машинный текст: точка в качестве десятичного разделителя и без группировки разрядов, поэтому '1,5' не является числом. false — региональный формат пользователя, как его ввёл бы человек; группы разрядов тогда должны соответствовать этому формату, поэтому '1 234,5' читается в формате Русский (Россия), а '12 34,5' — нет.

Возвращает

Integer, если в тексте нет десятичного разделителя или экспоненты и число помещается, иначе Real. 0, если текст не является числом; сначала проверьте с помощью StringIsNumber.

2 примера: Прочитать число, введённое человеком, Ручка Arduino как регулятор громкости

StringToUpper​

StringToUpper(text: Text) → Text

Преобразует текст в верхний регистр по правилам регионального формата Windows пользователя (например, турецкие i с точкой и без точки).

Параметры

  • text: Text — Преобразуемый текст.

Возвращает

Текст в верхнем регистре или неизменённый text, если Windows не может его преобразовать.

2 примера: Перевести выделенный текст в верхний регистр, Сделать резервную копию файла перед изменением

StringTrim​

StringTrim(text: Text) → Text

Удаляет пробелы, табуляции, переводы строки и другие пробельные символы в начале и в конце текста. Пробельные символы внутри текста сохраняются.

Параметры

  • text: Text — Обрезаемый текст.

Возвращает

Обрезанный текст или пустой текст, если text состоял только из пробельных символов.

6 примеров: Подсчитать слова в буфере обмена, Объединить строки из буфера обмена в одну, Найти выделенный текст в интернете, Найти выделение в интернете, Прочитать файл и подсчитать его строки, Кнопки устройства на COM-порту как мультимедийные клавиши

StringUrlEncode​

StringUrlEncode(text: Text) → Text · Простой

Кодирует текст, чтобы его можно было вставить в веб-адрес, например поисковый запрос, составленный из выделенного текста. Кодируйте только значение, а не весь адрес.

Параметры

  • text: Text — Кодируемый текст, например поисковый запрос.

Возвращает

Закодированный текст: буквы, цифры и - . _ ~ остаются как есть; каждый другой байт текста в UTF-8 превращается в знак процента с двумя шестнадцатеричными цифрами. Пробел превращается в знак процента и 20, а не в знак плюс.

1 пример: Найти выделенный текст в интернете

Style​

StyleGetCurrent​

StyleGetCurrent() → Text · Простой

Возвращает ключ стиля следа, который сейчас рисует плагин отрисовки, например neonglow, или shuffle, если выбран режим Shuffle.

Параметры

Без параметров.

Возвращает

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

StyleNext​

StyleNext() → Bool · Простой

Выбирает следующий разблокированный стиль следа в списке плагина отрисовки, возвращаясь к началу после конца списка. Новый стиль используется начиная со следующего жеста.

Параметры

Без параметров.

Возвращает

true, если смена стиля запрошена; false, если плагин отрисовки не запущен или выбрать другой стиль нельзя.

StyleSet​

StyleSet(key: Text) → Bool · Простой

Выбирает стиль следа плагина отрисовки с этим ключом; он используется начиная со следующего жеста. Кнопка рисования, у которой есть собственный стиль, сохраняет его.

Параметры

  • key: Text — Ключ стиля, например neonglow или auto; регистр не учитывается. Используйте shuffle, чтобы для каждого жеста выбирался другой стиль.

Возвращает

true, если смена стиля запрошена; false, если плагин отрисовки не запущен, стиля с таким ключом нет или стиль заблокирован.

System​

SystemHibernate​

SystemHibernate() → Bool · Простой

Переводит компьютер в режим гибернации без запроса. Скрипт ждёт здесь и продолжает работу после включения компьютера. Ничего не делает, если гибернация отключена в Windows.

Параметры

Без параметров.

Возвращает

true после того, как компьютер побывал в режиме гибернации и возобновил работу; false, если гибернация недоступна или Windows отказала.

SystemLock​

SystemLock() → Bool · Простой

Блокирует компьютер и показывает экран входа Windows, как сочетание Windows+L. Приложения продолжают работать.

Параметры

Без параметров.

Возвращает

true, если Windows заблокировала компьютер; false, если Windows отказала, например потому, что блокировка отключена политикой.

SystemMonitorOff​

SystemMonitorOff() → Bool · Простой

Выключает мониторы. Следующее движение мыши или нажатие клавиши снова включает их, поэтому скрипт, запущенный жестом, должен сначала вызвать UtilityWait(500).

Параметры

Без параметров.

Возвращает

true, когда запрос отправлен в Windows; false, если его не удалось отправить.

SystemRestart​

SystemRestart(force: Bool) → Bool · Простой

Перезагружает компьютер без запроса подтверждения; сначала Windows закрывает запущенные приложения. Если нужно подтверждение, сначала покажите UIShowMessageBox.

Параметры

  • force: Bool — false позволяет приложениям предложить сохранить несохранённые данные (принудительно закрываются только не отвечающие приложения); true сразу закрывает все приложения, и несохранённые данные теряются.

Возвращает

true, если Windows приняла запрос на перезагрузку (дальше она выполняется сама); false, если Windows его отклонила.

SystemShutDown​

SystemShutDown(force: Bool) → Bool · Простой

Завершает работу и выключает компьютер без запроса подтверждения. Если нужно подтверждение, сначала покажите UIShowMessageBox.

Параметры

  • force: Bool — false позволяет приложениям предложить сохранить несохранённые данные (принудительно закрываются только не отвечающие приложения); true сразу закрывает все приложения, и несохранённые данные теряются.

Возвращает

true, если Windows приняла запрос на завершение работы (дальше оно выполняется само); false, если Windows его отклонила.

SystemSignOut​

SystemSignOut(force: Bool) → Bool · Простой

Выполняет выход текущего пользователя из Windows без запроса подтверждения, закрывая все приложения, а вместе с ними и Input.Observer.

Параметры

  • force: Bool — false позволяет приложениям предложить сохранить несохранённые данные (принудительно закрываются только не отвечающие приложения); true сразу закрывает все приложения, и несохранённые данные теряются.

Возвращает

true, если Windows приняла запрос на выход (дальше он выполняется сам); false, если Windows его отклонила.

SystemSleep​

SystemSleep() → Bool · Простой

Переводит компьютер в спящий режим без запроса. Скрипт ждёт здесь и продолжает работу после пробуждения компьютера. На компьютере с современным режимом ожидания (Modern Standby) ничего не делает; используйте там SystemMonitorOff.

Параметры

Без параметров.

Возвращает

true после того, как компьютер побывал в спящем режиме и проснулся; false, если у компьютера нет спящего режима, который может включить программа, или Windows отказала.

Timer​

TimerCreate​

TimerCreate(name: Text, startDelayMs: Integer, intervalMs: Integer, repeatCount: Integer, script: Text) → Bool

Создаёт именованный таймер, который выполняет текст скрипта после задержки, а затем с фиксированным интервалом, или заменяет таймер с этим именем. Таймеры продолжают работать после завершения скрипта, пока их не удалят или движок не завершит работу.

Параметры

  • name: Text — Имя таймера, используемое TimerDelete. Учитывает регистр; существующий таймер с этим именем заменяется.
  • startDelayMs: Integer — Задержка перед первым выполнением в миллисекундах; 0 или больше.
  • intervalMs: Integer — Время между выполнениями в миллисекундах; 1 или больше. Выполнение не ждёт завершения предыдущего.
  • repeatCount: Integer — Общее число выполнений; 0 — повторять, пока таймер не будет удалён.
  • script: Text — Текст скрипта, выполняемый при каждом срабатывании. Он выполняется самостоятельно, без контекста триггера и без переменных этого скрипта.

Возвращает

true, когда таймер установлен. Отрицательные startDelayMs или repeatCount либо intervalMs меньше 1 останавливают скрипт с ошибкой.

2 примера: Повторяющийся таймер со счётчиком, Скрипт таймера из фрагмента, без экранирования

TimerDelete​

TimerDelete(name: Text) → Bool

Удаляет таймер с этим именем, чтобы он больше не срабатывал.

Параметры

  • name: Text — Имя таймера, переданное в TimerCreate. Учитывает регистр.

Возвращает

true, если таймер существовал и удалён; false, если таймера с таким именем не было.

1 пример: Перечислить и остановить таймеры

TimerDeleteAll​

TimerDeleteAll() → Bool

Удаляет все таймеры, созданные с помощью TimerCreate, чтобы ни один из них больше не срабатывал.

Параметры

Без параметров.

Возвращает

Всегда true.

1 пример: Перечислить и остановить таймеры

TimerEnumerateAll​

TimerEnumerateAll() → Integer

Составляет список имён всех текущих таймеров и возвращает их количество. Каждое имя читается с помощью TimerGetEnumeratedNameAt.

Параметры

Без параметров.

Возвращает

Количество таймеров или 0, если их нет.

1 пример: Перечислить и остановить таймеры

TimerGetEnumeratedNameAt​

TimerGetEnumeratedNameAt(index: Integer) → Text

Возвращает одно имя таймера из списка, составленного последним вызовом TimerEnumerateAll в этом скрипте.

Параметры

  • index: Integer — Позиция в списке, начиная с нуля, от 0 до количества минус 1. Порядок не имеет значения.

Возвращает

Имя таймера или пустой текст, если index вне диапазона или TimerEnumerateAll не вызывалась.

1 пример: Перечислить и остановить таймеры

Tray​

TrayMinimizeWindow​

TrayMinimizeWindow(window: Window) → Bool

Скрывает окно и показывает для него значок в трее с собственными значком и заголовком окна. Щелчок по значку восстанавливает окно на прежнем месте. Для элемента управления скрывается его окно верхнего уровня.

Параметры

  • window: Window — Скрываемое окно, например ContextGetWindow().

Возвращает

true, если запрос принят; false для нулевого окна или окна, которое уже не существует.

1 пример: Спрятать окно в трей

TrayRestoreAllWindows​

TrayRestoreAllWindows() → Bool

Восстанавливает все окна, скрытые с помощью TrayMinimizeWindow, и удаляет их значки из трея.

Параметры

Без параметров.

Возвращает

true, если запрос отправлен; false, если движок ещё не завершил запуск.

UI​

UIClearPrintLog​

UIClearPrintLog() → Bool

Очищает вкладку «Пользователь» диагностической консоли, где появляется вывод UtilityPrint, включая вывод, сохранённый, пока консоль была закрыта.

Параметры

Без параметров.

Возвращает

Всегда true.

UICloseDisplayMessage​

UICloseDisplayMessage(sessionId: Integer) → Bool

Закрывает одно экранное сообщение, открытое UIShowDisplayMessage. Ничего не делает, если это сообщение уже закрыто.

Параметры

  • sessionId: Integer — Идентификатор закрываемого сообщения, возвращённый UIShowDisplayMessage.

Возвращает

Всегда true, в том числе если сообщение уже было закрыто.

1 пример: Обновляемое на лету экранное сообщение

UIGetCulture​

UIGetCulture() → Text

Возвращает язык и регион, которые Input.Observer использует для собственного текста (меню в трее, сообщения, тексты ошибок), заданные UISetCulture, параметром языка или Windows.

Параметры

Без параметров.

Возвращает

Имя культуры в том виде, в каком оно задано, например en-US или es-ES, даже если вместо него используется перевод для другого региона.

UISetCulture​

UISetCulture(culture: Text) → Bool

Переключает язык, который Input.Observer использует для собственного текста (меню в трее, сообщения, тексты ошибок), до выхода из программы или изменения параметра языка. Не меняет окно настроек и сохранённый параметр.

Параметры

  • culture: Text — Имя культуры, например en-US, de-DE или es-MX.

Возвращает

true, если культура применена; false, и язык остаётся прежним, если culture — не известная Windows культура или в Input.Observer нет перевода на её язык. Другой регион переведённого языка, например es-ES, принимается.

UIShowConsole​

UIShowConsole() → Bool

Открывает диагностическую консоль или выводит её на передний план, если она уже открыта, и ждёт, пока она откроется. Если конфигурация защищена паролем, ждёт, пока запрашивается пароль. Закрыть консоль можно только её собственной кнопкой закрытия.

Параметры

Без параметров.

Возвращает

true, когда консоль открыта; false, если она не открылась, например потому, что запрос пароля был отменён или сохранённое состояние консоли не удаётся прочитать.

UIShowDisplayMessage​

UIShowDisplayMessage(title: Text, message: Text, durationMs: Integer, opacity: Real, location: Any, titleFontFamily: Text, titleFontSizePt: Integer, titleBold: Bool, titleItalic: Bool, messageFontFamily: Text, messageFontSizePt: Integer, messageBold: Bool, messageItalic: Bool, foreColor: Text, backColor: Text, paddingPx: Integer, usePrimaryScreen: Bool, titleAlign: Integer, messageAlign: Integer) → Integer · Простой

Показывает панель со строкой заголовка и строкой сообщения в фиксированном месте экрана и сразу возвращает управление. Одновременно может быть открыто несколько панелей; сохраните возвращённый идентификатор, чтобы обновить или закрыть эту.

Параметры

  • title: Text — Текст верхней строки, отображаемый шрифтом заголовка. Пустой текст убирает строку.
  • message: Text — Текст второй строки, отображаемый шрифтом сообщения. Длинный текст переносится на несколько строк. Пустой текст убирает строку.
  • durationMs: Integer — Сколько панель остаётся на экране, в миллисекундах. 0 или меньше — до закрытия с помощью UICloseDisplayMessage (встроенная панель также закрывается двойным щелчком).
  • opacity: Real — Непрозрачность панели от 0.05 (почти невидима) до 1.0 (полностью непрозрачна). Значения вне этого диапазона приводятся к его границам.
  • location: Any — Где показывать: константа Location, например Location.BottomCenter (размещается в области экрана, не занятой панелью задач), или Text 'x,y' без пробелов, задающий левый верхний угол панели в пикселях экрана, например '100,200'. Любое другое значение останавливает действие с ошибкой.
  • titleFontFamily: Text — Имя шрифта строки заголовка, например Segoe UI.
  • titleFontSizePt: Integer — Размер шрифта заголовка в пунктах. Значения меньше 1 считаются равными 1.
  • titleBold: Bool — true — выводить строку заголовка полужирным.
  • titleItalic: Bool — true — выводить строку заголовка курсивом.
  • messageFontFamily: Text — Имя шрифта строки сообщения, например Segoe UI.
  • messageFontSizePt: Integer — Размер шрифта сообщения в пунктах. Значения меньше 1 считаются равными 1.
  • messageBold: Bool — true — выводить строку сообщения полужирным.
  • messageItalic: Bool — true — выводить строку сообщения курсивом.
  • foreColor: Text — Цвет текста обеих строк: название цвета, например white или black, '#RRGGBB' или 'R,G,B', где каждое число от 0 до 255, без пробелов. Любое другое значение останавливает действие с ошибкой.
  • backColor: Text — Цвет фона в тех же формах, что и foreColor, например '#F7F7F5'. Чтобы сделать панель полупрозрачной, используйте opacity, а не цвет.
  • paddingPx: Integer — Пустое пространство вокруг текста в пикселях при масштабе экрана 100 процентов; оно увеличивается вместе с масштабом. Значения меньше 0 считаются равными 0.
  • usePrimaryScreen: Bool — true — размещать Location на основном мониторе; false — использовать монитор, на котором сейчас находится указатель мыши. Игнорируется для расположения 'x,y'.
  • titleAlign: Integer — Выравнивание строки заголовка: TextAlign.Left, TextAlign.Center или TextAlign.Right. Любое другое значение останавливает действие с ошибкой.
  • messageAlign: Integer — Выравнивание строки сообщения: TextAlign.Left, TextAlign.Center или TextAlign.Right. Любое другое значение останавливает действие с ошибкой.

Возвращает

Идентификатор сеанса сообщения, всегда больше 0, для UIUpdateDisplayMessage и UICloseDisplayMessage. Идентификатор возвращается, даже если сообщения отключены в настройках и ничего не появляется.

2 примера: Увеличение громкости с экранной индикацией, Обновляемое на лету экранное сообщение

UIShowInputBox​

UIShowInputBox(prompt: Text, title: Text, defaultText: Text) → Text · Простой

Показывает окно, в котором пользователю предлагается ввести одну строку текста, с кнопками «ОК» и «Отмена». Блокирует скрипт до закрытия окна, затем возвращает фокус окну, которое им обладало.

Параметры

  • prompt: Text — Вопрос, отображаемый над полем ввода. Текст длиннее 2000 символов обрезается.
  • title: Text — Заголовок в строке заголовка окна.
  • defaultText: Text — Текст, уже находящийся в поле при открытии окна; он выделен, поэтому ввод заменяет его. Для пустого поля используйте пустой текст.

Возвращает

Введённый текст, если пользователь нажал «ОК» (до 4096 символов), или пустой текст при нажатии «Отмена», Esc или кнопки закрытия. Пустой ввод с «ОК» тоже возвращает пустой текст.

2 примера: Прочитать число, введённое человеком, Один жест, несколько вариантов

UIShowMenu​

UIShowMenu(items: Text) → Integer · Простой

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

Параметры

  • items: Text — Пункты меню, по одному на строку. Строка, содержащая только -, — разделитель; пустые строки пропускаются. От 1 до 100 пунктов, иначе действие останавливается с ошибкой; пункт длиннее 260 символов обрезается. Поставьте & перед буквой, чтобы сделать её клавишей быстрого доступа пункта; && выводит один символ &.

Возвращает

Позиция выбранного пункта, начиная с 0, при счёте только пунктов (без разделителей), или -1, если меню закрыто без выбора или его не удалось показать.

1 пример: Один жест, несколько вариантов

UIShowMessageBox​

UIShowMessageBox(message: Text, title: Text, buttons: Text, icon: Text) → Text · Простой

Показывает стандартное окно сообщения Windows поверх других окон и ждёт, пока пользователь нажмёт кнопку. Блокирует скрипт до закрытия окна.

Параметры

  • message: Text — Текст сообщения, отображаемый в окне.
  • title: Text — Заголовок в строке заголовка окна.
  • buttons: Text — Какие кнопки показать, написанные точно так: OK, OKCancel, YesNo, YesNoCancel, RetryCancel или AbortRetryIgnore. Любое другое значение останавливает действие с ошибкой.
  • icon: Text — Какой значок показать, написанный точно так: None, Information, Warning, Error или Question. Любое другое значение останавливает действие с ошибкой.

Возвращает

Нажатая кнопка: OK, Cancel, Yes, No, Retry, Abort или Ignore (закрытие окна клавишей Esc или кнопкой закрытия возвращает Cancel, если есть кнопка «Отмена»). Пустой текст, если окно не удалось показать.

3 примера: Прочитать число, введённое человеком, Закрыть окна по шаблону заголовка после подтверждения, Задать вопрос

UIShowSettings​

UIShowSettings() → Bool · Простой

Открывает окно настроек Input.Observer или выводит его на передний план, если оно уже открыто. Возвращает управление, не дожидаясь окончания загрузки окна.

Параметры

Без параметров.

Возвращает

true, если окно настроек выведено на передний план или запущено; false, если Input.Observer.UI.exe отсутствует, не запустился или движок не ответил в течение 3 секунд.

UIUpdateDisplayMessage​

UIUpdateDisplayMessage(sessionId: Integer, title: Text, message: Text, durationMs: Integer, opacity: Real, location: Any, titleFontFamily: Text, titleFontSizePt: Integer, titleBold: Bool, titleItalic: Bool, messageFontFamily: Text, messageFontSizePt: Integer, messageBold: Bool, messageItalic: Bool, foreColor: Text, backColor: Text, paddingPx: Integer, usePrimaryScreen: Bool, titleAlign: Integer, messageAlign: Integer) → Bool

Заменяет все свойства открытой панели UIShowDisplayMessage (текст, положение, шрифты, цвета и длительность) новыми значениями. Отсчёт длительности начинается заново с этого вызова.

Параметры

  • sessionId: Integer — Идентификатор изменяемого сообщения, возвращённый UIShowDisplayMessage.
  • title: Text — Новый текст верхней строки, отображаемый шрифтом заголовка. Пустой текст убирает строку.
  • message: Text — Новый текст второй строки, отображаемый шрифтом сообщения. Длинный текст переносится на несколько строк. Пустой текст убирает строку.
  • durationMs: Integer — Сколько панель остаётся на экране, начиная с этого момента, в миллисекундах. 0 или меньше — до закрытия с помощью UICloseDisplayMessage (встроенная панель также закрывается двойным щелчком).
  • opacity: Real — Непрозрачность панели от 0.05 (почти невидима) до 1.0 (полностью непрозрачна). Значения вне этого диапазона приводятся к его границам.
  • location: Any — Где показывать: константа Location, например Location.BottomCenter (размещается в области экрана, не занятой панелью задач), или Text 'x,y' без пробелов, задающий левый верхний угол панели в пикселях экрана, например '100,200'. Любое другое значение останавливает действие с ошибкой.
  • titleFontFamily: Text — Имя шрифта строки заголовка, например Segoe UI.
  • titleFontSizePt: Integer — Размер шрифта заголовка в пунктах. Значения меньше 1 считаются равными 1.
  • titleBold: Bool — true — выводить строку заголовка полужирным.
  • titleItalic: Bool — true — выводить строку заголовка курсивом.
  • messageFontFamily: Text — Имя шрифта строки сообщения, например Segoe UI.
  • messageFontSizePt: Integer — Размер шрифта сообщения в пунктах. Значения меньше 1 считаются равными 1.
  • messageBold: Bool — true — выводить строку сообщения полужирным.
  • messageItalic: Bool — true — выводить строку сообщения курсивом.
  • foreColor: Text — Цвет текста обеих строк: название цвета, например white или black, '#RRGGBB' или 'R,G,B', где каждое число от 0 до 255, без пробелов. Любое другое значение останавливает действие с ошибкой.
  • backColor: Text — Цвет фона в тех же формах, что и foreColor, например '#F7F7F5'. Чтобы сделать панель полупрозрачной, используйте opacity, а не цвет.
  • paddingPx: Integer — Пустое пространство вокруг текста в пикселях при масштабе экрана 100 процентов; оно увеличивается вместе с масштабом. Значения меньше 0 считаются равными 0.
  • usePrimaryScreen: Bool — true — размещать Location на основном мониторе; false — использовать монитор, на котором сейчас находится указатель мыши. Игнорируется для расположения 'x,y'.
  • titleAlign: Integer — Выравнивание строки заголовка: TextAlign.Left, TextAlign.Center или TextAlign.Right. Любое другое значение останавливает действие с ошибкой.
  • messageAlign: Integer — Выравнивание строки сообщения: TextAlign.Left, TextAlign.Center или TextAlign.Right. Любое другое значение останавливает действие с ошибкой.

Возвращает

Всегда true, в том числе если сообщение уже было закрыто (тогда вызов ничего не делает).

1 пример: Обновляемое на лету экранное сообщение

Utility​

UtilityGetTickCount​

UtilityGetTickCount() → Integer

Возвращает количество миллисекунд с момента запуска Windows. Вычтите одно показание из другого, чтобы измерить прошедшее время, например чтобы обнаружить двойное срабатывание. Это не часы; для времени суток используйте DateTimeGetNow.

Параметры

Без параметров.

Возвращает

Миллисекунды с момента запуска Windows в виде Integer.

UtilityLockAcquire​

UtilityLockAcquire(name: Text, timeoutSeconds: Integer) → Integer

Захватывает именованную блокировку, чтобы участок скрипта одновременно выполняло только одно действие. Блокирует скрипт, пока блокировка не освободится или не истечёт timeoutSeconds. Блокировка снимается автоматически по завершении скрипта.

Параметры

  • name: Text — Имя блокировки, от 1 до 255 символов, общее для всех действий; прописные и строчные буквы не различаются. Повторный захват блокировки, которую этот скрипт уже удерживает, разрешён и требует ещё одного UtilityLockRelease.
  • timeoutSeconds: Integer — Максимальное время ожидания в секундах. 0 или больше 24 дней — ждать, пока блокировка не освободится или действие не будет остановлено. Отрицательное значение останавливает действие с ошибкой.

Возвращает

LockResult.Acquired, LockResult.TimedOut (также если действие остановлено во время ожидания) или сразу LockResult.Pinned, если блокировка закреплена.

1 пример: Пусть участок выполняет только одно действие за раз

UtilityLockAcquirePinned​

UtilityLockAcquirePinned(name: Text, timeoutSeconds: Integer) → Integer

Захватывает именованную блокировку и закрепляет её, чтобы она оставалась захваченной после завершения скрипта. Освободить её может только UtilityLockRelease из этого же запуска скрипта или перезагрузка конфигурации. Блокирует скрипт так же, как UtilityLockAcquire.

Параметры

  • name: Text — Имя блокировки, от 1 до 255 символов, общее для всех действий; прописные и строчные буквы не различаются. Блокировка, которую этот скрипт уже удерживает, становится закреплённой.
  • timeoutSeconds: Integer — Максимальное время ожидания в секундах. 0 или больше 24 дней — ждать, пока блокировка не освободится или действие не будет остановлено. Отрицательное значение останавливает действие с ошибкой.

Возвращает

LockResult.Acquired, LockResult.TimedOut (также если действие остановлено во время ожидания) или сразу LockResult.Pinned, если блокировка уже закреплена.

UtilityLockGetState​

UtilityLockGetState(name: Text) → Integer

Сообщает, свободна ли именованная блокировка, удерживается ли этим скриптом или другим действием либо закреплена. Никогда не ждёт.

Параметры

  • name: Text — Имя блокировки, от 1 до 255 символов; прописные и строчные буквы не различаются.

Возвращает

LockState.Free, LockState.HeldByMe, LockState.HeldByOther или LockState.Pinned. Закреплённая блокировка возвращает LockState.Pinned даже скрипту, который её закрепил.

UtilityLockRelease​

UtilityLockRelease(name: Text) → Bool

Освобождает именованную блокировку, которую удерживает этот скрипт, или снимает её закрепление. Блокировка, захваченная несколько раз, освобождается после такого же числа освобождений.

Параметры

  • name: Text — Имя блокировки, от 1 до 255 символов; прописные и строчные буквы не различаются.

Возвращает

true, если этот скрипт удерживал блокировку; false (и ничего не делает), если её никто не удерживает или её удерживает другое действие.

1 пример: Пусть участок выполняет только одно действие за раз

UtilityPrint​

UtilityPrint(text: Text) → Bool

Записывает строку текста в раздел «Пользователь» диагностической консоли или в вывод раздела «Скрипт», если скрипт запущен оттуда. Строки, выведенные при закрытой консоли, появятся при следующем её открытии.

Параметры

  • text: Text — Записываемый текст. Число сначала преобразуйте в Text с помощью StringFormat или StringFromNumber.

Возвращает

Всегда true.

70 примеров: Привет, консоль, Пять типов значений, Истинность каждого типа, Цепочка else-if, Циклы со счётчиком: вверх, вниз и с шагом, Вложенные циклы: таблица умножения, Цикл while: ждать окно с тайм-аутом, while (true) с флагом выхода, break и continue, Сюрпризы приоритета, && и || вычисляют обе стороны, Равенство разных типов, Арифметика смешанных типов даёт 0, Комментарии, пустые инструкции и блоки, Деление Integer и Real, деление на ноль, Остаток без %, Округление и встроенные функции для Real, Ограничить значение диапазоном, Случайные числа и подбрасывание монеты, Длина штриха жеста, Форматирование Real без шести знаков после запятой, Маски флагов: установка, сброс, переключение, проверка, Прочитать цвет пикселя под курсором, Integer в шестнадцатеричный текст, Подсчитать установленные биты, Граничные случаи сдвига, Обменять два Integer, Биты состояния клавиши, Escape-последовательности и пути Windows, Форматирование более двух значений, Разбить и перебрать, Вложенные разбиения: пары key=value, Последнее вхождение: расширение файла, Прочитать число, введённое человеком, Запустить программу, дождаться её окна и действовать в нём, Извлечь значение из скопированного текста регулярным выражением, Дополнить число нулями, Развернуть Text, Подсчитать слова в буфере обмена, Сравнения без учёта регистра, Порядок текста — порядковый, Сегодняшняя дата и имя файла с отметкой времени, Именованные константы и простые числа, Список видимых окон верхнего уровня, Свернуть все окна одного приложения, Исследовать дочерние элементы управления окна, От процесса к окну, Описать то, что под курсором, Всё, что знает контекст триггера, В какую сторону шёл штрих?, Ветвление по кнопке штриха, Сохранить скопированное изображение в файл, Прочитать файл и подсчитать его строки, Подсчитать типы файлов в папке, Отслеживать папку, Повторяющийся таймер со счётчиком, Перечислить и остановить таймеры, Счётчик, переживающий перезапуск, Список в Storage, Пусть участок выполняет только одно действие за раз, Задать вопрос, Развернуть переменные среды, Передать работу AutoHotkey, Список мониторов, Состояние движка, Фрагменты как повторно используемые функции, Общение с плагином, Задать вопрос устройству на COM-порту, Список COM-портов, Держать порт Arduino открытым и отправлять ей команды

UtilityWait​

UtilityWait(milliseconds: Integer) → Bool · Простой

Приостанавливает скрипт на заданное число миллисекунд, например чтобы окно или буфер обмена успели обновиться. Ожидание прерывается досрочно, если действие остановлено.

Параметры

  • milliseconds: Integer — Время ожидания в миллисекундах, от 0 до 60000 (одна минута). При больших значениях ожидание длится одну минуту; при отрицательных ожидания нет.

Возвращает

Всегда true.

10 примеров: Цикл while: ждать окно с тайм-аутом, Провести мышь по кругу, Заполнить шаблон и вставить его, Щёлкнуть где-то и вернуть курсор на место, Перетаскивание из скрипта, Ограничить курсор окном на 5 секунд, Мультимедийные клавиши, Перевести выделенный текст в верхний регистр, Найти выделение в интернете, Обновляемое на лету экранное сообщение

Window​

WindowCenterToScreen​

WindowCenterToScreen(window: Window) → Bool · Простой

Перемещает окно в центр рабочей области (экран без панели задач) монитора, на котором оно находится, сохраняя его размер.

Параметры

  • window: Window — Центрируемое окно.

Возвращает

true, если окно перемещено; false, если окно нулевое или закрыто либо отказалось перемещаться.

2 примера: Цикл while: ждать окно с тайм-аутом, Запомнить и восстановить положение окна

WindowClipToScreen​

WindowClipToScreen(window: Window) → Bool

Уменьшает и перемещает окно ровно настолько, чтобы ни один его край не выходил за пределы рабочей области (экран без панели задач) монитора, на котором оно находится. Окно, целиком находящееся за пределами рабочей области, сначала перемещается в неё с текущим размером.

Параметры

  • window: Window — Окно, вписываемое в рабочую область.

Возвращает

true, если окно размещено, в том числе если оно уже было внутри рабочей области; false, если окно нулевое или закрыто либо отклонило изменение.

WindowClose​

WindowClose(window: Window) → Bool · Простой

Просит окно закрыться, как если бы пользователь нажал его кнопку закрытия. Программа может предложить сохранить изменения или отказаться; чтобы дождаться закрытия, используйте WindowWaitClose.

Параметры

  • window: Window — Закрываемое окно.

Возвращает

true, если запрос на закрытие отправлен, что не означает, что окно закрылось; false, если окно нулевое или закрыто либо принадлежит программе с более высокими правами, например запущенной от имени администратора.

3 примера: Закрыть окна по шаблону заголовка после подтверждения, Ветвление по кнопке штриха, Другое поведение, пока удерживается Ctrl

WindowContainsTitle​

WindowContainsTitle(window: Window, text: Text) → Bool

Проверяет, содержит ли заголовок окна указанный текст, без учёта регистра букв.

Параметры

  • window: Window — Окно, заголовок которого проверяется.
  • text: Text — Текст, искомый в любом месте заголовка. Регистр букв не учитывается.

Возвращает

true, если заголовок содержит text, и всегда true, если text пуст; иначе false, в том числе для нулевого или закрытого окна.

WindowControlFromPoint​

WindowControlFromPoint(x: Integer, y: Integer) → Window

Возвращает самое внутреннее окно в точке экрана, например кнопку, текстовое поле или другой элемент управления внутри окна программы. Скрытые и отключённые окна пропускаются.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях виртуального экрана.
  • y: Integer — Вертикальная позиция на экране в пикселях виртуального экрана.

Возвращает

Элемент управления или окно под точкой либо нулевое окно, если там ничего нет.

1 пример: Описать то, что под курсором

WindowEnsureVisible​

WindowEnsureVisible(window: Window) → Bool

Сдвигает окно так, чтобы оно целиком оказалось в рабочей области монитора, на котором находится, не меняя его размер. Окно больше рабочей области выравнивается по её левому верхнему углу.

Параметры

  • window: Window — Окно, которое нужно целиком вернуть на экран.

Возвращает

true, если окно размещено, в том числе если оно уже было полностью видно; false, если окно нулевое или закрыто либо отказалось перемещаться.

WindowFindAllByModuleRegex​

WindowFindAllByModuleRegex(pattern: Text) → Integer

Находит все окна верхнего уровня, включая скрытые, путь к файлу программы которых соответствует регулярному выражению, и сохраняет список для WindowGetEnumeratedAt. Заменяет любой прежний список окон.

Параметры

  • pattern: Text — Регулярное выражение, сопоставляемое без учёта регистра букв с полным путём программы, которой принадлежит каждое окно, например 'notepad[.]exe$'.

Возвращает

Количество подходящих окон или 0, если подходящих нет. Недопустимый шаблон останавливает действие с ошибкой.

1 пример: Свернуть все окна одного приложения

WindowFindAllByTitleRegex​

WindowFindAllByTitleRegex(pattern: Text) → Integer

Находит все окна верхнего уровня, включая скрытые, заголовок которых соответствует регулярному выражению, и сохраняет список для WindowGetEnumeratedAt. Заменяет любой прежний список окон.

Параметры

  • pattern: Text — Регулярное выражение, сопоставляемое с заголовком каждого окна без учёта регистра букв. Совпадает в любом месте заголовка, если не привязано с помощью ^ или $.

Возвращает

Количество подходящих окон или 0, если подходящих нет. Недопустимый шаблон останавливает действие с ошибкой.

1 пример: Закрыть окна по шаблону заголовка после подтверждения

WindowFindByClassName​

WindowFindByClassName(className: Text) → Window

Находит самое переднее видимое окно верхнего уровня, имя класса которого содержит указанный текст, без учёта регистра букв.

Параметры

  • className: Text — Текст, искомый в имени класса, например 'Notepad'. Совпадает и часть имени; пустой текст соответствует самому переднему видимому окну.

Возвращает

Найденное окно или нулевое окно, если ни одно видимое окно верхнего уровня не подходит.

WindowFindByTitle​

WindowFindByTitle(title: Text) → Window

Находит самое переднее видимое окно верхнего уровня, заголовок которого содержит указанный текст, без учёта регистра букв.

Параметры

  • title: Text — Текст, искомый в любом месте заголовка. Регистр букв не учитывается; пустой текст соответствует самому переднему видимому окну.

Возвращает

Найденное окно или нулевое окно, если ни одно видимое окно верхнего уровня не подходит.

4 примера: Истинность каждого типа, Цикл while: ждать окно с тайм-аутом, Равенство разных типов, Щёлкнуть в точке внутри окна

WindowFitToScreen​

WindowFitToScreen(window: Window) → Bool · Простой

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

Параметры

  • window: Window — Окно, подгоняемое под рабочую область.

Возвращает

true, если размер окна изменён; false, если окно нулевое или закрыто либо отклонило изменение.

WindowFromPoint​

WindowFromPoint(x: Integer, y: Integer) → Window

Возвращает окно верхнего уровня в точке экрана, например окно программы под мышью, а не элемент управления внутри него.

Параметры

  • x: Integer — Горизонтальная позиция на экране в пикселях виртуального экрана.
  • y: Integer — Вертикальная позиция на экране в пикселях виртуального экрана.

Возвращает

Окно верхнего уровня под точкой или нулевое окно, если там ничего нет.

WindowFromProcessId​

WindowFromProcessId(processId: Integer) → Window

Возвращает главное окно запущенной программы: самое переднее видимое окно верхнего уровня, принадлежащее этому процессу.

Параметры

  • processId: Integer — Идентификатор процесса, возвращённый WindowGetProcessId или ShellGetEnumeratedProcessIdAt.

Возвращает

Окно или нулевое окно, если у процесса нет видимого окна верхнего уровня или processId равно 0.

1 пример: От процесса к окну

WindowGetActive​

WindowGetActive() → Window

Возвращает окно переднего плана — окно верхнего уровня, в котором пользователь сейчас работает.

Параметры

Без параметров.

Возвращает

Активное окно или нулевое окно, если в этот момент ни одно окно не активно, например во время смены фокуса.

4 примера: Пять типов значений, Форматирование более двух значений, Сравнения без учёта регистра, Прикрепить активное окно к левой половине его монитора

WindowGetAllChildren​

WindowGetAllChildren(window: Window, directOnly: Bool) → Integer

Составляет список дочерних окон (элементов управления) внутри окна и сохраняет его для WindowGetEnumeratedAt. Заменяет любой прежний список окон.

Параметры

  • window: Window — Окно, дочерние окна которого перечисляются.
  • directOnly: Bool — true — только непосредственные дочерние окна; false — все потомки на любой глубине.

Возвращает

Количество найденных дочерних окон или 0, если их нет или окно нулевое.

1 пример: Исследовать дочерние элементы управления окна

WindowGetAllProps​

WindowGetAllProps(window: Window) → Integer

Составляет список всех свойств, сохранённых в окне этим движком, самой программой или другим ПО, и сохраняет его для WindowGetEnumeratedPropNameAt и WindowGetEnumeratedPropValueAt.

Параметры

  • window: Window — Окно, свойства которого перечисляются.

Возвращает

Количество найденных свойств или 0, если их нет или окно нулевое.

WindowGetAllTopLevel​

WindowGetAllTopLevel() → Integer

Составляет список всех окон верхнего уровня на рабочем столе от переднего к заднему, включая скрытые и замаскированные (cloaked), и сохраняет его для WindowGetEnumeratedAt. Заменяет любой прежний список окон.

Параметры

Без параметров.

Возвращает

Количество найденных окон верхнего уровня.

1 пример: Список видимых окон верхнего уровня

WindowGetAlpha​

WindowGetAlpha(window: Window) → Integer

Возвращает уровень прозрачности окна, заданный WindowSetAlpha или самой программой.

Параметры

  • window: Window — Читаемое окно.

Возвращает

Значение от 0 (полностью прозрачно) до 255 (полностью непрозрачно). 255 для окна без заданной прозрачности, а также для нулевого или закрытого окна.

1 пример: Циклически менять прозрачность окна

WindowGetClassName​

WindowGetClassName(window: Window) → Text

Возвращает имя класса окна — имя типа, которое Windows использует для него, например 'Notepad' или 'Button'. Полезно для распознавания окон с меняющимися заголовками.

Параметры

  • window: Window — Читаемое окно.

Возвращает

Имя класса или пустой текст, если окно нулевое или закрыто.

2 примера: Исследовать дочерние элементы управления окна, Описать то, что под курсором

WindowGetControlText​

WindowGetControlText(window: Window) → Text

Читает текст элемента управления в любой программе, например текстового поля, строки состояния или сообщения диалогового окна. Работает только с классическими элементами управления Windows. Блокирует скрипт до 2 секунд, если программа не отвечает.

Параметры

  • window: Window — Читаемый элемент управления или окно, например полученные от WindowControlFromPoint или WindowGetEnumeratedAt.

Возвращает

Текст элемента управления, примерно до миллиона символов, или пустой текст, если текста нет, окно нулевое или закрыто либо программа не ответила. Поле пароля другой программы даёт пустой текст.

WindowGetDpi​

WindowGetDpi(window: Window) → Integer

Возвращает DPI монитора, на котором находится окно: 96 при масштабе экрана 100 процентов, 144 при 150 процентах.

Параметры

  • window: Window — Проверяемое окно.

Возвращает

DPI или 0, если окно нулевое или закрыто.

WindowGetEnabled​

WindowGetEnabled(window: Window) → Bool

Проверяет, принимает ли окно ввод с мыши и клавиатуры. Отключённое окно или элемент управления обычно отображается серым.

Параметры

  • window: Window — Проверяемое окно.

Возвращает

true, если окно включено; false, если оно отключено, нулевое или закрыто.

WindowGetEnumeratedAt​

WindowGetEnumeratedAt(index: Integer) → Window

Возвращает одно окно из списка, составленного последним вызовом WindowGetAllTopLevel, WindowGetAllChildren, WindowFindAllByTitleRegex или WindowFindAllByModuleRegex.

Параметры

  • index: Integer — Позиция в списке, от 0 до возвращённого функцией перечисления количества минус 1.

Возвращает

Окно в этой позиции или нулевое окно, если index вне диапазона.

4 примера: Список видимых окон верхнего уровня, Свернуть все окна одного приложения, Закрыть окна по шаблону заголовка после подтверждения, Исследовать дочерние элементы управления окна

WindowGetEnumeratedPropNameAt​

WindowGetEnumeratedPropNameAt(index: Integer) → Text

Возвращает имя одного свойства из списка, составленного последним вызовом WindowGetAllProps.

Параметры

  • index: Integer — Позиция в списке, от 0 до возвращённого WindowGetAllProps количества минус 1.

Возвращает

Имя свойства или пустой текст, если index вне диапазона.

WindowGetEnumeratedPropValueAt​

WindowGetEnumeratedPropValueAt(index: Integer) → Integer

Возвращает исходное целочисленное значение одного свойства из списка, составленного последним вызовом WindowGetAllProps. Для свойства, заданного с помощью WindowSetPropertyText, здесь показывается внутреннее число, а не его текст.

Параметры

  • index: Integer — Позиция в списке, от 0 до возвращённого WindowGetAllProps количества минус 1.

Возвращает

Значение свойства или 0, если index вне диапазона.

WindowGetExecutableFolder​

WindowGetExecutableFolder(window: Window) → Text

Возвращает папку, содержащую программу, которой принадлежит окно, без имени файла и без завершающего разделителя. Для имени файла используйте WindowGetExecutableName, для обоих — WindowGetExecutableFullPath.

Параметры

  • window: Window — Окно, расположение программы которого нужно найти.

Возвращает

Путь к папке или пустой текст, если окно нулевое или закрыто либо программу не удаётся опросить.

WindowGetExecutableFullPath​

WindowGetExecutableFullPath(window: Window) → Text

Возвращает полный путь к программе, которой принадлежит окно, — папку и имя файла вместе, например путь к notepad.exe в папке Windows. Для одной из частей используйте WindowGetExecutableFolder или WindowGetExecutableName.

Параметры

  • window: Window — Окно, расположение программы которого нужно найти.

Возвращает

Полный путь или пустой текст, если окно нулевое или закрыто либо программу не удаётся опросить.

WindowGetExecutableName​

WindowGetExecutableName(window: Window) → Text

Возвращает имя файла программы, которой принадлежит окно, например 'notepad.exe'.

Параметры

  • window: Window — Окно, программу которого нужно определить.

Возвращает

Имя файла программы или пустой текст, если окно нулевое или закрыто либо программу не удаётся опросить.

2 примера: Сравнения без учёта регистра, Список видимых окон верхнего уровня

WindowGetHeight​

WindowGetHeight(window: Window) → Integer

Возвращает видимую высоту окна без невидимой рамки изменения размера, которую Windows добавляет вокруг большинства окон.

Параметры

  • window: Window — Измеряемое окно.

Возвращает

Высота в пикселях или 0, если окно нулевое или закрыто.

3 примера: Форматирование более двух значений, Прикрепить активное окно к левой половине его монитора, Ограничить курсор окном на 5 секунд

WindowGetLastFocus​

WindowGetLastFocus() → Window

Возвращает окно или элемент управления, последним получившие фокус клавиатуры где-либо на рабочем столе. Часто это элемент управления, например текстовое поле, а не его окно верхнего уровня.

Параметры

Без параметров.

Возвращает

Последнее окно или элемент управления с фокусом либо нулевое окно, если фокус не менялся с момента запуска движка.

WindowGetMovableAncestor​

WindowGetMovableAncestor(window: Window) → Window

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

Параметры

  • window: Window — Окно или элемент управления, с которого начинается поиск.

Возвращает

Само окно или первое родительское окно с системным меню либо нулевое окно, если такого нет или окно нулевое.

WindowGetParent​

WindowGetParent(window: Window) → Window

Возвращает окно, содержащее элемент управления. Для всплывающего окна, например диалогового, это может быть окно-владелец.

Параметры

  • window: Window — Окно или элемент управления, родителя которого нужно получить.

Возвращает

Родительское окно или окно-владелец либо нулевое окно, если такого нет или окно нулевое или закрыто.

WindowGetProcessId​

WindowGetProcessId(window: Window) → Integer

Возвращает идентификатор процесса (запущенной программы), которому принадлежит окно, — то же число, что показывает диспетчер задач.

Параметры

  • window: Window — Окно, процесс которого нужно определить.

Возвращает

Идентификатор процесса или 0, если окно нулевое или закрыто.

WindowGetPropertyInteger​

WindowGetPropertyInteger(window: Window, name: Text) → Integer

Читает именованное целое число, сохранённое в окне, например ранее сохранённое с помощью WindowSetPropertyInteger, чтобы запомнить что-то об этом окне.

Параметры

  • window: Window — Окно, из которого выполняется чтение.
  • name: Text — Имя свойства.

Возвращает

Сохранённое значение или 0, если свойство не существует или окно нулевое. Сохранённый 0 выглядит так же, как отсутствующее свойство.

2 примера: Закрепить окно поверх остальных, Запомнить и восстановить положение окна

WindowGetPropertyText​

WindowGetPropertyText(window: Window, name: Text) → Text

Читает именованное текстовое значение, сохранённое этим движком в окне с помощью WindowSetPropertyText.

Параметры

  • window: Window — Окно, из которого выполняется чтение.
  • name: Text — Имя свойства.

Возвращает

Сохранённый текст или пустой текст, если свойство не существует, не было сохранено этим движком как текст, с тех пор было перезаписано или окно нулевое.

WindowGetRoot​

WindowGetRoot(window: Window) → Window

Возвращает окно верхнего уровня, содержащее окно или элемент управления, например окно программы вокруг кнопки.

Параметры

  • window: Window — Окно или элемент управления, с которого начинается поиск.

Возвращает

Окно верхнего уровня (само окно, если оно уже верхнего уровня); нулевое окно, если окно нулевое или закрыто.

1 пример: Описать то, что под курсором

WindowGetTitle​

WindowGetTitle(window: Window) → Text

Возвращает текст в строке заголовка окна. Для элементов управления в других программах он обычно пуст; для них используйте WindowGetControlText.

Параметры

  • window: Window — Читаемое окно.

Возвращает

Заголовок или пустой текст, если у окна его нет либо окно нулевое или закрыто.

9 примеров: Сравнения без учёта регистра, Один жест, несколько вариантов, Закрепить окно поверх остальных, Список видимых окон верхнего уровня, Исследовать дочерние элементы управления окна, От процесса к окну, Описать то, что под курсором, Всё, что знает контекст триггера, Список в Storage

WindowGetVisible​

WindowGetVisible(window: Window) → Bool

Проверяет, должно ли окно отображаться. Видимое окно при этом может быть свёрнуто, перекрыто другими окнами, находиться за пределами экрана или на другом виртуальном рабочем столе.

Параметры

  • window: Window — Проверяемое окно.

Возвращает

true, если окно и все его родительские окна отображаются; false, если оно скрыто, нулевое или закрыто.

1 пример: Список видимых окон верхнего уровня

WindowGetWidth​

WindowGetWidth(window: Window) → Integer

Возвращает видимую ширину окна без невидимой рамки изменения размера, которую Windows добавляет вокруг большинства окон.

Параметры

  • window: Window — Измеряемое окно.

Возвращает

Ширина в пикселях или 0, если окно нулевое или закрыто.

3 примера: Форматирование более двух значений, Прикрепить активное окно к левой половине его монитора, Ограничить курсор окном на 5 секунд

WindowGetX​

WindowGetX(window: Window) → Integer

Возвращает позицию видимого левого края окна на экране без невидимой рамки изменения размера. Для свёрнутого окна это служебная позиция за пределами экрана.

Параметры

  • window: Window — Окно, положение которого определяется.

Возвращает

Левый край в пикселях виртуального экрана или 0, если окно нулевое или закрыто.

4 примера: Форматирование более двух значений, Прикрепить активное окно к левой половине его монитора, Запомнить и восстановить положение окна, Ограничить курсор окном на 5 секунд

WindowGetY​

WindowGetY(window: Window) → Integer

Возвращает позицию видимого верхнего края окна на экране без невидимой рамки изменения размера. Для свёрнутого окна это служебная позиция за пределами экрана.

Параметры

  • window: Window — Окно, положение которого определяется.

Возвращает

Верхний край в пикселях виртуального экрана или 0, если окно нулевое или закрыто.

4 примера: Форматирование более двух значений, Прикрепить активное окно к левой половине его монитора, Запомнить и восстановить положение окна, Ограничить курсор окном на 5 секунд

WindowHide​

WindowHide(window: Window) → Bool

Полностью скрывает окно вместе с его кнопкой на панели задач. Движок снова показывает его при завершении работы, а пункт «Показать скрытые окна» в меню в трее возвращает его в любой момент.

Параметры

  • window: Window — Скрываемое окно.

Возвращает

true, если окно скрыто или уже было скрыто; false, если оно нулевое или закрыто, является рабочим столом, панелью задач или одним из окон самого движка либо уже отслеживается 256 скрытых окон.

WindowIsCloaked​

WindowIsCloaked(window: Window) → Bool

Проверяет, не показывает ли Windows окно, хотя оно считается отображаемым, например окно на другом виртуальном рабочем столе или приостановленное приложение Store. Полезно, чтобы пропускать такие окна в списке.

Параметры

  • window: Window — Проверяемое окно.

Возвращает

true, если окно замаскировано (cloaked); false, если нет либо окно нулевое или закрыто.

1 пример: Список видимых окон верхнего уровня

WindowIsMaximized​

WindowIsMaximized(window: Window) → Bool

Проверяет, развёрнуто ли окно, например перед тем как решить, вызывать ли WindowRestore или WindowMaximize.

Параметры

  • window: Window — Проверяемое окно.

Возвращает

true, если окно развёрнуто; false, если нет либо окно нулевое или закрыто.

1 пример: Переключить развёртывание окна жеста

WindowIsMinimized​

WindowIsMinimized(window: Window) → Bool

Проверяет, свёрнуто ли окно на панель задач, например перед тем как решить, вызывать ли WindowRestore.

Параметры

  • window: Window — Проверяемое окно.

Возвращает

true, если окно свёрнуто; false, если нет либо окно нулевое или закрыто.

WindowMapClientPointToScreenX​

WindowMapClientPointToScreenX(window: Window, x: Integer, y: Integer) → Integer

Преобразует точку в клиентской области окна (внутренней части окна под строкой заголовка и в пределах рамок) в позицию на экране и возвращает её горизонтальную составляющую.

Параметры

  • window: Window — Окно, в клиентской области которого находится точка.
  • x: Integer — Горизонтальная позиция от левого края клиентской области в пикселях.
  • y: Integer — Вертикальная позиция от верхнего края клиентской области в пикселях.

Возвращает

Позиция X на экране в пикселях виртуального экрана или 0, если окно нулевое или закрыто.

WindowMapClientPointToScreenY​

WindowMapClientPointToScreenY(window: Window, x: Integer, y: Integer) → Integer

Преобразует точку в клиентской области окна (внутренней части окна под строкой заголовка и в пределах рамок) в позицию на экране и возвращает её вертикальную составляющую.

Параметры

  • window: Window — Окно, в клиентской области которого находится точка.
  • x: Integer — Горизонтальная позиция от левого края клиентской области в пикселях.
  • y: Integer — Вертикальная позиция от верхнего края клиентской области в пикселях.

Возвращает

Позиция Y на экране в пикселях виртуального экрана или 0, если окно нулевое или закрыто.

WindowMapScreenPointToClientX​

WindowMapScreenPointToClientX(window: Window, x: Integer, y: Integer) → Integer

Преобразует позицию на экране в точку относительно клиентской области окна (внутренней части окна под строкой заголовка и в пределах рамок) и возвращает её горизонтальную составляющую.

Параметры

  • window: Window — Окно, от клиентской области которого ведётся отсчёт.
  • x: Integer — Горизонтальная позиция на экране в пикселях виртуального экрана.
  • y: Integer — Вертикальная позиция на экране в пикселях виртуального экрана.

Возвращает

Позиция X от левого края клиентской области в пикселях; отрицательная, если точка левее него. 0, если окно нулевое или закрыто.

1 пример: Описать то, что под курсором

WindowMapScreenPointToClientY​

WindowMapScreenPointToClientY(window: Window, x: Integer, y: Integer) → Integer

Преобразует позицию на экране в точку относительно клиентской области окна (внутренней части окна под строкой заголовка и в пределах рамок) и возвращает её вертикальную составляющую.

Параметры

  • window: Window — Окно, от клиентской области которого ведётся отсчёт.
  • x: Integer — Горизонтальная позиция на экране в пикселях виртуального экрана.
  • y: Integer — Вертикальная позиция на экране в пикселях виртуального экрана.

Возвращает

Позиция Y от верхнего края клиентской области в пикселях; отрицательная, если точка выше него. 0, если окно нулевое или закрыто.

1 пример: Описать то, что под курсором

WindowMaximize​

WindowMaximize(window: Window) → Bool · Простой

Разворачивает окно на весь монитор, на котором оно находится, и активирует его. Окно, скрытое с помощью WindowHide, показывается и больше не отслеживается как скрытое.

Параметры

  • window: Window — Разворачиваемое окно.

Возвращает

true, если после вызова окно развёрнуто; false, если окно нулевое или закрыто либо не развернулось.

2 примера: Один жест, несколько вариантов, Переключить развёртывание окна жеста

WindowMinimize​

WindowMinimize(window: Window) → Bool · Простой

Сворачивает окно на панель задач. Затем Windows активирует следующее окно. Окно, скрытое с помощью WindowHide, показывается свёрнутым и больше не отслеживается как скрытое.

Параметры

  • window: Window — Сворачиваемое окно.

Возвращает

true, если после вызова окно свёрнуто; false, если окно нулевое или закрыто либо не свернулось.

4 примера: Один жест, несколько вариантов, Свернуть все окна одного приложения, Ветвление по кнопке штриха, Другое поведение, пока удерживается Ctrl

WindowMoveTo​

WindowMoveTo(window: Window, x: Integer, y: Integer) → Bool

Перемещает окно так, чтобы его видимый левый верхний угол оказался в указанной позиции экрана, сохраняя размер. Использует те же координаты, что WindowGetX и WindowGetY; развёрнутое окно предварительно не восстанавливается.

Параметры

  • window: Window — Перемещаемое окно.
  • x: Integer — Новый левый край видимой рамки в пикселях виртуального экрана.
  • y: Integer — Новый верхний край видимой рамки в пикселях виртуального экрана.

Возвращает

true, если окно перемещено; false, если окно нулевое или закрыто либо отказалось перемещаться.

3 примера: Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором, Запомнить и восстановить положение окна

WindowRemoveProp​

WindowRemoveProp(window: Window, name: Text) → Integer

Удаляет из окна именованное свойство, сохранённое с помощью WindowSetPropertyInteger, WindowSetPropertyText или другим ПО.

Параметры

  • window: Window — Окно, из которого удаляется свойство.
  • name: Text — Имя свойства.

Возвращает

Исходное значение удалённого свойства или 0, если оно не существовало или окно нулевое. Для текстового свойства это внутреннее число, а не текст.

2 примера: Закрепить окно поверх остальных, Запомнить и восстановить положение окна

WindowResizeTo​

WindowResizeTo(window: Window, width: Integer, height: Integer) → Bool

Изменяет размер видимой рамки окна, оставляя его левый верхний угол на месте. Использует тот же размер, что WindowGetWidth и WindowGetHeight; развёрнутое окно предварительно не восстанавливается.

Параметры

  • window: Window — Окно, размер которого изменяется.
  • width: Integer — Новая видимая ширина в пикселях.
  • height: Integer — Новая видимая высота в пикселях.

Возвращает

true, если размер окна изменён; false, если окно нулевое или закрыто либо отклонило изменение.

2 примера: Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором

WindowRestore​

WindowRestore(window: Window) → Bool · Простой

Возвращает свёрнутое или развёрнутое окно к обычным размеру и положению и активирует его. Окно, скрытое с помощью WindowHide, показывается и больше не отслеживается как скрытое.

Параметры

  • window: Window — Восстанавливаемое окно.

Возвращает

true, если в итоге окно имеет обычный размер — не свёрнуто и не развёрнуто; false, если окно нулевое или закрыто либо не пришло в это состояние. Свёрнутое окно, которое до этого было развёрнуто, снова становится развёрнутым, и это считается false.

3 примера: Переключить развёртывание окна жеста, Прикрепить активное окно к левой половине его монитора, Поместить окно в ячейку сетки 3×2 под курсором

WindowSendToBottom​

WindowSendToBottom(window: Window) → Bool · Простой

Перемещает окно за все остальные окна, не активируя его. Окно, которое было поверх всех окон, теряет этот параметр.

Параметры

  • window: Window — Окно, перемещаемое на задний план.

Возвращает

true, если окно перемещено на задний план; false, если окно нулевое или закрыто либо отклонило изменение.

WindowSendToMonitorAt​

WindowSendToMonitorAt(window: Window, x: Integer, y: Integer, mouseFollows: Bool) → Bool

Перемещает окно на монитор, содержащий точку экрана, сохраняя его размер и положение относительно рабочей области. Развёрнутое окно оказывается развёрнутым на новом мониторе; если при этом оно активируется, окно, которое было активным раньше, получает фокус обратно, когда Windows это позволяет.

Параметры

  • window: Window — Перемещаемое окно.
  • x: Integer — Горизонтальная позиция любой точки на целевом мониторе в пикселях виртуального экрана. Для точки вне всех мониторов выбирается ближайший монитор.
  • y: Integer — Вертикальная позиция любой точки на целевом мониторе в пикселях виртуального экрана.
  • mouseFollows: Bool — true — при перемещении окна переместить указатель мыши в то же относительное место на новом мониторе; false — оставить его на месте.

Возвращает

true, если окно перемещено; false, если окно нулевое или закрыто либо отказалось перемещаться.

WindowSendToMonitorIndex​

WindowSendToMonitorIndex(window: Window, index: Integer, mouseFollows: Bool) → Bool

Перемещает окно на монитор, выбранный по его позиции в списке из последнего вызова DisplayMonitorEnumeratedAll, сохраняя размер и относительное положение. Развёрнутое окно остаётся развёрнутым; если повторное разворачивание активирует его, окно, которое было активным раньше, получает фокус обратно, когда Windows это позволяет.

Параметры

  • window: Window — Перемещаемое окно.
  • index: Integer — Позиция в списке мониторов, начиная с 0. Мониторы упорядочены слева направо, затем сверху вниз.
  • mouseFollows: Bool — true — при перемещении окна переместить указатель мыши в то же относительное место на новом мониторе; false — оставить его на месте.

Возвращает

true, если окно перемещено; false, если окно нулевое или закрыто, index вне диапазона либо DisplayMonitorEnumeratedAll не выполнялась в этом скрипте или окно отказалось перемещаться.

1 пример: Отправить окно на определённый монитор

WindowSendToMonitorName​

WindowSendToMonitorName(window: Window, name: Text, mouseFollows: Bool) → Bool

Перемещает окно на монитор с указанным путём к устройству или понятным именем, сохраняя размер и относительное положение. Развёрнутое окно остаётся развёрнутым; если повторное разворачивание активирует его, окно, которое было активным раньше, получает фокус обратно, когда Windows это позволяет. Полезно для раскладок, которые сохраняются при подключении к док-станции и отключении от неё.

Параметры

  • window: Window — Перемещаемое окно.
  • name: Text — Путь к устройству или понятное имя монитора, как их возвращают DisplayMonitorGetDevicePathFromPoint или DisplayMonitorGetFriendlyNameFromPoint. Путь к устройству — надёжный вариант. Регистр букв не учитывается.
  • mouseFollows: Bool — true — при перемещении окна переместить указатель мыши в то же относительное место на новом мониторе; false — оставить его на месте.

Возвращает

true, если окно перемещено; false, если ни у одного подключённого монитора нет такого имени, окно нулевое или закрыто либо окно отказалось перемещаться.

WindowSendToNextScreen​

WindowSendToNextScreen(window: Window, mouseFollows: Bool) → Bool · Простой

Перемещает окно на следующий монитор — слева направо, затем сверху вниз, с переходом от последнего к первому, — сохраняя размер и относительное положение. Развёрнутое окно остаётся развёрнутым; если повторное разворачивание активирует его, окно, которое было активным раньше, получает фокус обратно, когда Windows это позволяет.

Параметры

  • window: Window — Перемещаемое окно.
  • mouseFollows: Bool — true — при перемещении окна переместить указатель мыши в то же относительное место на новом мониторе; false — оставить его на месте.

Возвращает

true, если окно перемещено, в том числе если монитор только один; false, если окно нулевое или закрыто либо отказалось перемещаться.

2 примера: Перебросить окно на следующий монитор, Отправить окно на определённый монитор

WindowSendToPreviousScreen​

WindowSendToPreviousScreen(window: Window, mouseFollows: Bool) → Bool · Простой

Перемещает окно на предыдущий монитор — справа налево, затем снизу вверх, с переходом от первого к последнему, — сохраняя размер и относительное положение. Развёрнутое окно остаётся развёрнутым; если повторное разворачивание активирует его, окно, которое было активным раньше, получает фокус обратно, когда Windows это позволяет.

Параметры

  • window: Window — Перемещаемое окно.
  • mouseFollows: Bool — true — при перемещении окна переместить указатель мыши в то же относительное место на новом мониторе; false — оставить его на месте.

Возвращает

true, если окно перемещено, в том числе если монитор только один; false, если окно нулевое или закрыто либо отказалось перемещаться.

WindowSetActive​

WindowSetActive(window: Window) → Bool

Выводит окно на передний план и передаёт ему фокус клавиатуры, предварительно восстанавливая его, если оно свёрнуто, и показывая, если оно скрыто. Окно, скрытое с помощью WindowHide, больше не отслеживается как скрытое. Windows может отказать и вместо этого заставить мигать его кнопку на панели задач.

Параметры

  • window: Window — Активируемое окно.

Возвращает

true, если окно стало окном переднего плана; false, если Windows отказала либо окно нулевое или закрыто.

2 примера: Запустить программу, дождаться её окна и действовать в нём, Щёлкнуть в точке внутри окна

WindowSetAlpha​

WindowSetAlpha(window: Window, alpha: Integer) → Bool

Задаёт прозрачность окна — от полностью прозрачного до полностью непрозрачного. При значении 255 окно перестаёт быть многослойным, что также убирает прозрачность, заданную самой программой. Окна программ, запущенных от имени администратора, изменить нельзя, если движок не запущен так же.

Параметры

  • window: Window — Изменяемое окно.
  • alpha: Integer — Непрозрачность от 0 (полностью прозрачно) до 255 (полностью непрозрачно). Значения вне этого диапазона приводятся к его границам.

Возвращает

true, если прозрачность применена; false, если окно нулевое или закрыто либо изменение отклонено.

1 пример: Циклически менять прозрачность окна

WindowSetBounds​

WindowSetBounds(window: Window, x: Integer, y: Integer, width: Integer, height: Integer) → Bool

Перемещает окно и изменяет его размер за один шаг, используя те же координаты видимой рамки, что WindowGetX, WindowGetY, WindowGetWidth и WindowGetHeight. Позволяет избежать мерцания при вызове WindowMoveTo, а затем WindowResizeTo.

Параметры

  • window: Window — Окно, которое перемещается и меняет размер.
  • x: Integer — Новый левый край видимой рамки в пикселях виртуального экрана.
  • y: Integer — Новый верхний край видимой рамки в пикселях виртуального экрана.
  • width: Integer — Новая видимая ширина в пикселях.
  • height: Integer — Новая видимая высота в пикселях.

Возвращает

true, если изменение применено; false, если окно нулевое или закрыто либо отклонило изменение.

WindowSetEnabled​

WindowSetEnabled(window: Window, enabled: Bool) → Bool

Включает или отключает окно или элемент управления. Отключённое окно игнорирует щелчки мыши и нажатия клавиш, пока его снова не включат.

Параметры

  • window: Window — Изменяемое окно или элемент управления.
  • enabled: Bool — true — включить окно; false — отключить его.

Возвращает

true, когда запрос выполнен; false, если окно нулевое или закрыто.

WindowSetPropertyInteger​

WindowSetPropertyInteger(window: Window, name: Text, value: Integer) → Bool

Сохраняет в окне именованное целое число, например чтобы запомнить что-то об этом окне между действиями. При завершении работы движок удаляет сохранённые им свойства.

Параметры

  • window: Window — Окно, в котором сохраняется значение.
  • name: Text — Имя свойства. Выберите характерное имя, чтобы оно не конфликтовало со свойствами, которые использует сама программа.
  • value: Integer — Сохраняемое целое число.

Возвращает

true, если значение сохранено; false, если окно нулевое или закрыто.

2 примера: Закрепить окно поверх остальных, Запомнить и восстановить положение окна

WindowSetPropertyText​

WindowSetPropertyText(window: Window, name: Text, value: Text) → Bool

Сохраняет в окне именованное текстовое значение, которое затем можно прочитать с помощью WindowGetPropertyText. Движок хранит текст точно в том виде, в каком он передан, с учётом регистра букв, и текст может быть пустым. При завершении работы движок удаляет сохранённые им свойства.

Параметры

  • window: Window — Окно, в котором сохраняется текст.
  • name: Text — Имя свойства. Выберите характерное имя, чтобы оно не конфликтовало со свойствами, которые использует сама программа.
  • value: Text — Сохраняемый текст, не более 1024 символов.

Возвращает

true, если текст сохранён; false, если окно нулевое или закрыто, уже сохранено 512 текстовых значений или свойство не удалось задать. Текст длиннее 1024 символов останавливает действие с ошибкой.

WindowSetTitle​

WindowSetTitle(window: Window, title: Text) → Bool

Изменяет текст в строке заголовка окна. Программа может в любой момент вернуть прежний заголовок. Если программа не отвечает в течение 1 секунды, заголовок не меняется.

Параметры

  • window: Window — Переименовываемое окно.
  • title: Text — Новый текст заголовка.

Возвращает

true, если заголовок задан; false, если окно нулевое или закрыто, не ответило в течение 1 секунды или программа отказала.

1 пример: Один жест, несколько вариантов

WindowSetTopmost​

WindowSetTopmost(window: Window, topmost: Bool) → Bool · Простой

Удерживает окно поверх всех обычных окон или возвращает ему обычный порядок наложения, не активируя его.

Параметры

  • window: Window — Изменяемое окно.
  • topmost: Bool — true — всегда держать окно поверх других; false — вернуть ему обычный порядок наложения.

Возвращает

true, если изменение применено; false, если окно нулевое или закрыто либо принадлежит программе с более высокими правами.

1 пример: Закрепить окно поверх остальных

WindowShow​

WindowShow(window: Window) → Bool

Снова показывает скрытое окно, например скрытое с помощью WindowHide, в текущих размере и положении. Движок перестаёт отслеживать его как скрытое.

Параметры

  • window: Window — Показываемое окно.

Возвращает

true, если запрос на отображение выполнен; false, если окно нулевое или закрыто.

WindowToggleTopmost​

WindowToggleTopmost(window: Window) → Bool · Простой

Переключает окно между режимом поверх всех окон и обычным порядком наложения, не активируя его.

Параметры

  • window: Window — Изменяемое окно.

Возвращает

true, если изменение применено; false, если окно нулевое или закрыто либо отклонило изменение. Не сообщает, в каком состоянии окно находится теперь.

WindowWaitClose​

WindowWaitClose(window: Window, timeoutMs: Integer) → Bool

Ждёт закрытия окна, проверяя каждые 50 миллисекунд. Блокирует скрипт не дольше timeoutMs; остановка всех действий досрочно прерывает ожидание.

Параметры

  • window: Window — Окно, закрытия которого нужно дождаться.
  • timeoutMs: Integer — Максимальное время ожидания в миллисекундах, от 0 до 60000. Большие значения считаются равными 60000; 0 — проверить один раз без ожидания.

Возвращает

true, когда окно закрыто, — сразу, если оно уже закрыто или нулевое; false, если по истечении времени оно всё ещё открыто или ожидание остановлено.

1 пример: Запустить программу, дождаться её окна и действовать в нём

WindowWaitFor​

WindowWaitFor(pattern: Text, timeoutMs: Integer) → Window

Ждёт появления видимого окна верхнего уровня, заголовок которого соответствует регулярному выражению, проверяя каждые 50 миллисекунд. Блокирует скрипт не дольше timeoutMs; полезно сразу после запуска программы.

Параметры

  • pattern: Text — Регулярное выражение, сопоставляемое с заголовками окон без учёта регистра букв, например 'Notepad$'. Совпадает в любом месте заголовка, если не привязано с помощью ^ или $.
  • timeoutMs: Integer — Максимальное время ожидания в миллисекундах, от 0 до 60000. Большие значения считаются равными 60000; 0 — проверить один раз без ожидания.

Возвращает

Самое переднее подходящее окно или нулевое окно, если ни одно не появилось вовремя или ожидание остановлено. Недопустимый шаблон останавливает действие с ошибкой.

1 пример: Запустить программу, дождаться её окна и действовать в нём