2009-06-22 13 views
0

certaines autres applications Windows que j'essaie d'interfacer, enregistre un vidage du presse-papiers dans le fichier. Pour être plus précis, il cherche le format "Embed Source" dans le presse-papier, et s'il est trouvé l'enregistre dans un fichier. "Embed Source" est un format basé sur OLE, qui est créé, par exemple, lorsque vous copiez une image à partir d'un pinceau.comment recharger les données sauvegardées du presse-papier "Embed Source"?

Existe-t-il un moyen de recharger le contenu de ces fichiers dans le presse-papiers, afin que je puisse les coller dans say, pinceau ou n'importe quel programme de bureau?

En C# J'ai essayé

System.Windows.Forms.Clipboard.SetData("Embed Source", data); 

où les données est un tableau contenant l'octets du fichier, mais il semble envelopper davantage, avant de placer les données sur le presse-papiers.

Est-ce que quelqu'un connaît un bon moyen de le faire (pas nécessairement en C#)?

Merci, r

Répondre

1

Résolu, vous devez passer Clipboard.SetData un objet courant, et en le faisant, il n'enveloppent pas les données dans un autre format.

à savoir

  System.IO.FileStream s = System.IO.File.Open("c:\\temp\\dxf.ole",System.IO.FileMode.Open); 

     Clipboard.SetData("Embed Source", s); 

     s.Close(); 

Cependant, certaines métadonnées est perdu, car le pinceau ne vous laissez pas coller ces données rechargées, mais c'est une autre question.