ClipWait

クリップボードにデータが入るまで待ちます。

ClipWait Timeout, WaitFor

パラメータ

タイムアウト

型:整数または浮動小数点数

省略した場合は、無期限に待機します。そうでなければ、指定された秒数以上待機することはありません。1 秒未満の時間で待機するには、浮動小数点数を指定します。たとえば最大 250 ミリ秒待機するときは、 0.25 と指定します。

WaitFor

型:整数

If 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 function 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 function waits for data of any kind to appear on the clipboard.

その他の値は、将来の使用のために予約されています。

戻り値

型:整数(ブーリアン)

この関数は、タイムアウトした場合は0(false)を、そうでない場合(すなわちクリップボードにデータがある場合)は1(true)を返します。

備考

このクリップボードが空白かどうかをチェックする独自のループよりも、この関数を使用する方がよいでしょう。これは、この関数によってクリップボードが開かれることがないため、パフォーマンスが向上し、クリップボードを使用している可能性のある他のアプリケーションと干渉する可能性が回避されるためです。

この機能は、テキストに変換可能なもの(HTMLなど)をテキストとみなします。また、エクスプローラーウィンドウでCtrl+Cでコピーしたようなファイルもテキストとみなします。このようなファイルは、スクリプト内でクリップボード変数が参照されるたびに、自動的にそのファイル名(フルパス付き)に変換されます。詳しくはA_Clipboardをご覧ください。

When 1 is present as the last parameter, the function will be satisfied when any data appears on the clipboard. ClipboardAllと併用することで、画像などテキスト以外のものを保存することができます。

関数が待機状態にある間、ホットキーカスタムメニュー項目、またはタイマーによって新しいスレッドを起動することができます。

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