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

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top