一些其他的Windows应用程序,我试图接口,将剪贴板的转储保存到文件。 更准确地说,它会在剪贴板中查找“Embed Source”格式,如果find,则将其保存到文件中。 “embedded源”是一些基于OLE的格式,例如,当您从画笔复制图像时创build的格式。
有没有办法重新加载这些文件的内容回剪贴板,所以我可以粘贴回来说,画笔或任何办公室程序?
在C#我试过了
System.Windows.Forms.Clipboard.SetData("Embed Source", data);
其中data是一个包含文件字节的数组,但在将数据放在剪贴板上之前似乎将其进一步包裹起来。
有人知道这样做的好方法(不一定用C#)吗?
谢谢,r
解决了,你需要传递Clipboard.SetData一个流对象,这样做,它不包裹在另一种格式的数据。
即
System.IO.FileStream s = System.IO.File.Open("c:\\temp\\dxf.ole",System.IO.FileMode.Open); Clipboard.SetData("Embed Source", s); s.Close();
然而,一些元数据丢失,因为画笔不允许你粘贴这样的重新载入的数据,但这是另一个问题。