Comment recharger les données du presse-papier “Embed Source” sauvegardées?
Question
Une autre application Windows que je tente d’interfacer enregistre une sauvegarde du presse-papiers dans un fichier. Pour être plus précis, il recherche la " Source incorporée " format dans le presse-papiers et, s’il est trouvé, l’enregistre dans un fichier. " Intégrer la source " est un format basé sur OLE, créé par exemple lorsque vous copiez une image à partir d'un pinceau.
Existe-t-il un moyen de recharger le contenu de ces fichiers dans le presse-papiers afin que je puisse les coller à nouveau au moyen d'un pinceau ou de tout programme bureautique?
En c # j'ai essayé
System.Windows.Forms.Clipboard.SetData("Embed Source", data);
où data est un tableau contenant les octets du fichier, mais il semble l'envelopper davantage avant de placer les données dans le Presse-papiers.
Est-ce que quelqu'un connaît un bon moyen de le faire (pas nécessairement en C #)?
Merci, r
La solution
Résolu, vous devez transmettre à Clipboard.SetData un objet de flux et ainsi ne pas envelopper les données dans un autre format.
c'est-à-dire
System.IO.FileStream s = System.IO.File.Open("c:\\temp\\dxf.ole",System.IO.FileMode.Open);
Clipboard.SetData("Embed Source", s);
s.Close();
Pourtant, certaines métadonnées sont perdues, puisque pinceau ne vous permet pas de coller de telles données rechargées, mais c'est une autre question.