Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "ClipWait", в содержании - "Environment Management" - "ClipWait".

Ник переводчика: Дед Мазай.

Настоящее имя переводчика: Антон Иваненко, г.Москва.

ClipWait

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

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

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.