[공개용 SW 개발] 다중복사 프로그램

류명운

·

2016. 8. 31. 03:24

반응형

[공개용 SW 개발] 다중복사 프로그램




이번 공개용 SW 역시 이전 포스팅과 마찬가지로 블로그 관리에 용이한..(를위한?) 간단한 프로그램을 만들게되어 소개하고자 합니다.


문서작성에 필수는 단연 copy & paste (...) 하지만 해당 기능을 수행하기 위해 저희에게 할당된 클립보드의 버퍼는 단 하나... 그러던 중 자바에서 우연히 Clipboard 라이브러리를 지원한다는 것을 알게되어 다중복사 프로그램을 만들어 사용하게 되었습니다.


프로그램은 총 4개의 저장소를 기반으로 단축키(F1 ~ F8)을 이용하여 사용하도록 구현하였습니다.


여기서 문제는 자바는 플랫폼에 종속적이기 때문에(해당 프로젝트를 하면서 이해가 됐다는...) 사용자의 단축키(키보드) 입력을 받을수가 없다는 점이었습니다.


하지만 구글링(?) 결과, 해당 이슈는 자바에서 다른 언어를 사용할 수 있도록 지원해주는 JNI(Java Native Interface)를 사용하여 C++의 키(입력) 감지 함수를 기반으로 작성된 KeyboardHook-win.dll 파일을 로드하여 구현하면 된다는 것을 알게되었고.. 열심히 따라 하다보니 해결되었습니다.



아래 개발환경 및 프로젝트 파일 및 패키지구조, 실행파일을 첨부하오니 참고하여 공부하시기 바랍니다.



개발환경

  • 개발언어 : JAVA, C++

  • 라이브러리 : JDK(Clipboard, Robot), KeyboardHook-win.dll

  • 개발도구 : Eclipse(Kepler)


프로젝트 파일

multicopy_myeonguni.zip



패키지구조




실행파일

multicopy.exe


* 보완해야 할 사항

해당 단축키(F1~F8)가 이미 현재 작업하고 있는 어플리케이션에서 단축키로 등록되어 있을 경우 겹치는 현상


* 해결방안

multicopy 프로그램이 서비스에 동작 중이면 F1~F8키에 대한 감지를 해당 프로세서에서 가장 먼저하여 다른 어플리케이션에서 중복 감지되는 현상이 안 일어나도록(제 생각은 이러하지만 해당 부분은 C++단에서 작업해야 할 사항 같아서 공부가 부족하여 아직 시도해보지 않았습니다.)

반응형