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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top