"Embed Source"클립 보드 데이터를 다시로드하는 방법은 무엇입니까?

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

  •  06-07-2019
  •  | 
  •  

문제

인터페이스하려는 다른 Windows 응용 프로그램은 클립 보드의 덤프를 파일로 저장합니다. 보다 정확하게 말하면 클립 보드의 "Embed Source"형식을 찾고 발견하면 파일에 저장됩니다. "Embed Source"는 일부 OLE 기반 형식으로, 예를 들어 Paintbrush에서 이미지를 복사 할 때 생성됩니다.

해당 파일의 내용을 클립 보드로 다시로드 할 수있는 방법이 있으므로 Paintbrush 또는 Office 프로그램에 다시 붙여 넣을 수 있습니까?

C#에서 나는 시도했다

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

여기서 데이터는 파일의 바이트를 포함하는 배열이지만 클립 보드에 데이터를 배치하기 전에 더 래핑하는 것 같습니다.

누군가가 그렇게하는 좋은 방법을 알고 있습니까 (반드시 C#에있는 것은 아님)?

감사합니다, r

도움이 되었습니까?

해결책

해결 된 경우 Clipboard.setData 스트림 객체를 전달해야하며 그렇게함으로써 데이터를 다른 형식으로 래핑하지 않습니다.

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

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

        s.Close();

그러나 Paintbrush는 그러한 재 장전 데이터를 붙여 넣을 수 없기 때문에 일부 메타 데이터가 손실됩니다. 그러나 또 다른 질문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top