读取和写入系统剪贴板

Flash Player 10 和更高版本,Adobe AIR 1.0 和更高版本

若要读取操作系统剪贴板,请调用 Clipboard.generalClipboard 对象的 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() 方法。

若要写入剪贴板,请以一种或多种格式将数据添加到 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 的非应用程序沙箱中运行的内容只能在用户事件(如键盘或鼠标事件,或者 copy cut 事件)的事件处理函数中调用 setData() 方法。换句话说,只有在 AIR 应用程序沙箱中运行的代码才能在用户事件处理函数的外部调用 setData() 方法。