システムクリップボードとの間の読み書き

Flash Player 10 以降、Adobe AIR 1.0 以降

オペレーティングシステムのクリップボードを読み取るには、次のように Clipboard.generalClipbooard オブジェクトの getData() メソッドを呼び出して、読み取り形式で渡します。

import flash.desktop.Clipboard; 
import flash.desktop.ClipboardFormats; 
 
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ 
    var text:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT); 
} 
注意: Flash Player で実行されているコンテンツ、または AIR のアプリケーション以外のサンドボックスで実行されているコンテンツは、 paste イベントのイベントハンドラーでのみ getData() メソッドを呼び出すことができます。つまり、AIR アプリケーションサンドボックスで実行されているコードのみが、 paste イベントハンドラー外の getData() メソッドを呼び出すことができます。

クリップボードに書き込むには、1 つ以上の形式で Clipboard.generalClipboard オブジェクトにデータを追加します。同じ形式の既存のデータは、自動的に上書きされます。ただし、新しいデータを書き込む前にシステムクリップボードのクリアも行い、他の形式の無関係なデータも削除されるようにすることをお勧めします。

import flash.desktop.Clipboard; 
import flash.desktop.ClipboardFormats; 
 
var textToCopy:String = "Copy to clipboard."; 
Clipboard.generalClipboard.clear(); 
Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, textToCopy, false); 
注意: Flash Player で実行されているコンテンツ、または AIR のアプリケーション以外のサンドボックスで実行されているコンテンツは、 setData() メソッドを、キーボードイベント、マウスイベント、 copy イベント、 cut イベントなどのユーザーイベントのイベントハンドラー内でのみ呼び出すことができます。つまり、AIR アプリケーションサンドボックスで実行されているコードのみが、ユーザーイベントハンドラー外の setData() メソッドを呼び出すことができます。