wie gespeichert „Embed Source“ Daten aus der Zwischenablage laden?
Frage
einige andere Windows-Anwendung Ich versuche, mit Schnittstelle, speichert ein Abbild der Zwischenablage abzulegen. Um genauer zu sein, sieht es für das „Embed Source“ Format in der Zwischenablage, und wenn es spart gefunden Datei. „Embed Source“ ist einige OLE-basiertes Format, das erstellt wird, zum Beispiel, wenn Sie ein Bild von Pinsel kopieren.
Gibt es eine Möglichkeit, den Inhalt dieser Dateien zurück in die Zwischenablage zu laden, so konnte ich sie wieder in etwa Pinseln oder ein Office-Programm einfügen?
In c # Ich habe versucht,
System.Windows.Forms.Clipboard.SetData("Embed Source", data);
, wo Daten ein Array der Datei Bytes enthält, aber es scheint, um es weiter zu wickeln, bevor die Daten über die Zwischenablage zu kopieren.
Kennt jemand eine gute Art und Weise so (nicht unbedingt in C #) zu tun?
Danke, r
Lösung
Gelöst, müssen Sie Clipboard.SetData einen Stream Objekt zu übergeben, und dadurch ist es nicht, die Daten in einem anderen Format wickeln.
d.
System.IO.FileStream s = System.IO.File.Open("c:\\temp\\dxf.ole",System.IO.FileMode.Open);
Clipboard.SetData("Embed Source", s);
s.Close();
Dennoch ist einige Metadaten verloren, da Pinsel nicht Sie lassen solche Reloaded Daten einfügen, aber das ist eine andere Frage.