Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

ClipWait -Autohotkey

Ожидает момента поступления данных в буфер обмена.

ClipWait [, ВремяОжидания, 1]

Параметры


ВремяОжидания Если значение не указано, команда ожидания будет выполняться бесконечно. В противном случае, ожидание будет длиться не более, чем указанное количество времени в секундах (также может содержать десятичные значения или быть в виде математического выражения). Заданное значение 0.5 приравнивается к 0.
1 Если данный параметр опущен, команда будет иметь более селективную направленность - целью ожидания будет появление в буфере обмена либо текста, либо файла. Если же этот параметр равен 1 (может быть также представлен в виде выражения), то команда ожидает любой вид данных, поступающих в буфер обмена.

ErrorLevel

Если период ожидания закончился, ErrorLevel принимает значение 1. В противном случае (т.к. в буфер обмена поступили искомые данные), ErrorLevel принимает значение 0.

Примечание

Использование данной команды для определения наличия каких-либо данных в буфере обмена является наилучшим способом выполнения данной задачи, в отличие от использования каких-либо самодеятельных конструкций. Дело в том, что команда ClipWait никогда не открывает собственно сам буфер обмена, что позволяет получить лучшую производительность и избежать конфликтов с другими программами, работающими с буфером обмена в данный момент.

Данная команда рассматривает любые данные, которые могут быть переконвертированы в текст (например HTML), как собственно текст. Какие-либо файлы, которые вы например копируете из любой папки Проводника с помощью команды Control-C, также рассматриваются как текст, который состоит из названия файла (с указанием полного пути файла в Проводнике). Такие процессы автоматической конвертации в текст происходят всякий раз при обращении скрипта к переменной %clipboard%. Подробнее о Clipboard см.здесь (ссылка).

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

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

Пример

Clipboard = ; Буфер обмена пуст Send, ^c ClipWait, 2 if ErrorLevel <> 0 { MsgBox, Попытка скопировать текст в буфер обмена неудачна. Return } MsgBox, clipboard = %clipboard% Return
Автор перевода: Дед Мазай
Настоящее имя переводчика: Антон Иваненко
Источник: http://www.script-coding.com/AutoHotkey/ClipWait.html
Под редакцией ahk-wiki.ru от 21.08.19