ClipWait

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

ClipWait Timeout, WaitFor

パラメータ

Timeout

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

省略した場合は、無期限に待機します。そうでなければ、指定された秒数以上待機することはありません。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をご覧ください。

最後のパラメータに1を指定すると、クリップボードに何らかのデータが表示されたときに、この関数が満たされます。ClipboardAllと併用することで、画像などテキスト以外のものを保存することができます。

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

A_ClipboardWinWaitKeyWait

クリップボードを空にし、現在の選択範囲をクリップボードにコピーし、クリップボードにデータが入るまで最大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