ClipWait

Waits until the clipboard contains data.

ClipWait , Timeout, WaitFor

Parameters

Timeout

If blank or omitted, the command will wait indefinitely. Otherwise, it will wait no longer than this many seconds. To wait for a fraction of a second, specify a floating-point number, for example, 0.25 to wait for a maximum of 250 milliseconds. Specifying 0 is the same as specifying 0.5. This parameter can be an expression.

WaitFor

If blank or omitted, it defaults to 0 (wait only for text or files). Otherwise, specify one of the following numbers to indicate what to wait for:

0: The command is more selective, waiting specifically for text or files to appear ("text" includes anything that would produce text when you paste into Notepad).

1: The command waits for data of any kind to appear on the clipboard.

This parameter can be an expression, even one that evaluates to 1, 0 or an empty string.

ErrorLevel

If the wait period expires, ErrorLevel will be set to 1. Otherwise (i.e. the clipboard contains data), ErrorLevel is set to 0.

Remarks

It's better to use this command than a loop of your own that checks to see if this clipboard is blank. This is because the clipboard is never opened by this command, and thus it performs better and avoids any chance of interfering with another application that may be using the clipboard.

This command considers anything convertible to text (e.g. HTML) to be text. It also considers files, such as those copied in an Explorer window via Ctrl+C, to be text. Such files are automatically converted to their filenames (with full path) whenever the clipboard variable (%clipboard%) is referred to in the script. See Clipboard for details.

When 1 is present as the last parameter, the command will be satisfied when any data appears on the clipboard. This can be used in conjunction with ClipboardAll to save non-textual items such as pictures.

While the command is in a waiting state, new threads can be launched via hotkey, custom menu item, or timer.

Clipboard, WinWait, KeyWait

Examples

Empties the clipboard, copies the current selection into the clipboard and waits a maximum of 2 seconds until the clipboard contains data. If ClipWait times out, an error message is shown, otherwise the clipboard contents is shown.

Clipboard := "" ; Empty the clipboard
Send, ^c
ClipWait, 2
if ErrorLevel
{
    MsgBox, The attempt to copy text onto the clipboard failed.
    return
}
MsgBox, clipboard = %Clipboard%
return