클립보드 데이터 형식에 관하여

(예전 커뮤니티(2016-2020) 사이트에서 옮겨온 글입니다: 번호 24)

작성자: gongdo
날짜: 2017-01-11


  1. 클립보드 데이터 형식

윈도 프로그래밍에서 Clipboard.getData(“Hwp Native”)를 해보면 hwp 파일 포맷과 비슷하지만 상당히 다른 형식의 바이너리 데이터가 반환됩니다.

“Hwp Native” 형식의 클립보드 데이터에 대한 명세가 따로 있는지 알고 싶습니다.

  1. 클립보드 데이터 다루기

HWP 컨트롤이나 오토메이션을 이용하여 현재 클립보드에 있는 “Hwp Native” 데이터를 붙여넣거나 반대로 선택한 영역을 클립보드에 복사하는 방법이 있을지요?

댓글

yhjung (2017.01.12)

클립보드 데이터 형식에 대한 내용은 내부 개발자료라서 공개가 불가합니다. 다만 한글역시 윈도우API를 활용하여 만들어졌기때문에 Spy++ 등을 사용한다면 동작을 후킹할 수 있을것으로 보입니다.

gongdo (2017.01.12)

아… 답은 아주 간단했습니다. 그냥 "Hwp Native"로 얻은 바이너리를 그대로 .hwp 파일로 저장하면 그게 바로 한글 파일이었네요. 형식이 뭔가 다르다고 생각했는데 잘 열립니다.
당연하게도 그 파일을 HML로 저장하면 굳이 바이너리 파싱할 필요없이 XML로 읽을 수 있으니 훨씬 더 작업이 간단해지네요.

gongdo (2017.01.12)

또 한가지, 해보진 않았지만 2번 질문과 관련하여, ActionObject.hwp 문서에 보면 Copy (복사하기)와 Paste (붙이기)가 정의되어 있군요. 이걸 이용하면 Copy로 지정한 영역을 윈도 클립보드로 복사하고 Paste로 윈도 클립보드에서 hwp로 복사하는 기능을 구현할 수 있을 것 같네요.