保存した“埋め込みソースをリロードする方法”クリップボードデータ?

StackOverflow https://stackoverflow.com/questions/1025816

  •  06-07-2019
  •  | 
  •  

質問

インターフェイスしようとしている他のWindowsアプリケーションは、クリップボードのダンプをファイルに保存します。より正確には、「埋め込みソース」を探します。クリップボードにフォーマットし、見つかった場合はファイルに保存します。 "埋め込みソース" OLEベースの形式です。たとえば、ペイントブラシから画像をコピーすると作成されます。

これらのファイルの内容をクリップボードに再読み込みする方法はありますか?ペイントブラシやオフィスプログラムに貼り付けることができますか?

C#で試しました

System.Windows.Forms.Clipboard.SetData("Embed Source", data);

dataはファイルのバイトを含む配列ですが、クリップボードにデータを配置する前にさらにラップするようです。

誰かがそうするための良い方法を知っていますか?(必ずしもC#ではありません)

ありがとう、 r

役に立ちましたか?

解決

解決済み、Clipboard.SetDataにストリームオブジェクトを渡す必要があります。そうすることで、データを別の形式にラップしません。

i.e。

            System.IO.FileStream s = System.IO.File.Open("c:\\temp\\dxf.ole",System.IO.FileMode.Open);

        Clipboard.SetData("Embed Source", s);

        s.Close();

まだ、ペイントブラシではリロードしたデータを貼り付けることができないため、一部のメタデータは失われますが、それは別の質問です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top