ClipWait

等待, 一直到剪贴板包含数据.

ClipWait , Timeout, WaitFor

参数

Timeout

如果省略, 此命令将无限期等待. 否则, 它将等待不超过这个秒数的时间. 若要等待比秒更小的时间, 请指定一个浮点数, 例如, 0.25 等待最多 250 毫秒. 指定 0 等同于指定 0.5. 这个参数可以是表达式

WaitFor

如果为空或省略, 则默认为 0(仅等待文本或文件). 否则, 请指定以下数字之一以表示要等待的内容:

0: 命令更具选择性, 明确地等待剪贴板中出现文本或文件("文本" 包含当您粘贴到记事本时会产生文本的任何内容).

1: 命令等待剪贴板中出现任何类型的数据.

参数可以是表达式, 甚至可以是计算结果为 1, 0 或空字符串的表达式.

ErrorLevel

如果到达等待期限, ErrorLevel 将被置为 1. 否则(即剪贴板包含数据), ErrorLevel 被置为 0.

备注

使用此命令比您在一个循环中检查剪贴板是否为空要好. 这是由于此命令从不打开剪贴板, 因此执行地更好并且避免了对可能使用剪贴板的其他程序的干扰.

此命令把任何可转换成文本的内容(例如 HTML) 视为文本. 它也把文件, 例如从资源管理器窗口中通过 Ctrl+C 复制的文件视为文本. 每当在脚本中引用剪贴板变量(%clipboard%) 时, 这些文件被自动转换成它们的文件名(完整路径). 有关详细信息, 请参阅剪贴板.

当最后一个参数为 1 时, 剪贴板中出现任何数据都将符合此命令. 这种特性可以和 ClipboardAll 结合使用来保存像图片这样的非文本数据.

当此命令处于等待状态时, 可以通过热键, 自定义菜单项计时器启动新的线程.

Clipboard, WinWait, KeyWait

示例

清空剪贴板, 将当前选区复制到剪贴板, 最多等待 2 秒, 直到剪贴板包含数据. 如果 ClipWait 超时, 将显示错误信息, 否则将显示剪贴板内容.

clipboard := "" ; 清空剪贴板
Send, ^c
ClipWait, 2
if ErrorLevel
{
    MsgBox, The attempt to copy text onto the clipboard failed.
    return
}
MsgBox, clipboard = %clipboard%
return