¿Cómo volver a cargar los datos guardados en el portapapeles "Fuente de inserción"?

StackOverflow https://stackoverflow.com/questions/1025816

  •  06-07-2019
  •  | 
  •  

Pregunta

alguna otra aplicación de Windows con la que intento interactuar guarda un volcado del portapapeles en el archivo. Para ser más precisos, busca la fuente de incrustación formato en el portapapeles, y si se encuentra lo guarda en el archivo. " Fuente de incrustación " es un formato basado en OLE, que se crea, por ejemplo, cuando copia una imagen del pincel.

¿Hay alguna manera de volver a cargar el contenido de esos archivos en el portapapeles, para poder pegarlos en, por ejemplo, pincel o cualquier programa de oficina?

En C # lo he intentado

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

donde los datos son una matriz que contiene los bytes del archivo, pero parece envolverlos más, antes de colocar los datos en el portapapeles.

¿Alguien sabe de una buena manera de hacerlo (no necesariamente en C #)?

Gracias r

¿Fue útil?

Solución

Resuelto, debe pasar Clipboard.SetData a un objeto continuo y, al hacerlo, no ajusta los datos en otro formato.

es decir

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

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

        s.Close();

Sin embargo, se pierden algunos metadatos, ya que el pincel no le permite pegar esos datos recargados, pero esa es otra pregunta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top