画像データをクリップボードにコピーする必要がある XULRunner アプリケーションがあります。テキストをクリップボードにコピーする方法を理解し、クリップボードから PNG データを貼り付けることができます。私が理解できないのは、データ URL からクリップボードにデータを取得して、他のアプリケーションに貼り付ける方法です。
これは、私がテキストをコピーするために使用するコードです (まあ、XUL):
var transferObject=Components.classes["@mozilla.org/widget/transferable;1"].
createInstance(Components.interfaces.nsITransferable);
var stringWrapper=Components.classes["@mozilla.org/supports-string;1"].
createInstance(Components.interfaces.nsISupportsString);
var systemClipboard=Components.classes["@mozilla.org/widget/clipboard;1"].
createInstance(Components.interfaces.nsIClipboard);
var objToSerialize=aDOMNode;
transferObject.addDataFlavor("text/xul");
var xmls=new XMLSerializer();
var serializedObj=xmls.serializeToString(objToSerialize);
stringWrapper.data=serializedObj;
transferObject.setTransferData("text/xul",stringWrapper,serializedObj.length*2);
そして、私が言ったように、転送しようとしているデータは、データ URL としての PNG です。したがって、たとえば Paint.NET でアプリのデータを貼り付けることができる、上記と同等のものを探しています。