ClipWait

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

ClipWait Timeout, WaitForAnyData

参数

Timeout

类型: 整数

如果省略, 此命令将无限期等待. 否则, 它将等待不超过这个秒数的时间(可以包含小数点).

WaitForAnyData

类型: 整数(布尔值)

如果此参数省略或为 0(false), 此命令会更有选择性, 明确地等待剪贴板中出现文本或文件("文本" 包含任何当您粘贴到记事本时会产生文本的内容). 如果此参数为 1(true), 该函数等待任何类型的数据出现在剪贴板上.

返回值

类型: 整数(布尔值)

如果函数超时, 返回 0(false), 否则(即剪贴板包含数据), 返回 1(true).

备注

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

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

当最后一个参数为 1(true) 时, 剪贴板中出现任何数据, 就会满足函数的条件. 这种特性可以和 ClipboardAll 结合使用来保存像图片这样的非文本数据.

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

第一个参数可以是浮点值, 例如, 0.25 等待最多 250 毫秒.

A_Clipboard, WinWait, KeyWait

示例

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

A_Clipboard := "" ; 清空剪贴板
Send "^c"
if !ClipWait(2)
{
    MsgBox "The attempt to copy text onto the clipboard failed."
    return
}
MsgBox "clipboard = " A_Clipboard
return
unixetc