2학년 재학당시 객체지향 과목 프로젝트로 사용자의 마우스, 일부 키보드 동작을 녹화하고 그대로 따라하는 매크로 프로그램을 제작하였습니다.
동작 감지를 위한 글로벌 후킹을 Jnativehook 라이브러리를 사용하여 처리하였습니다.
아래 사진은 클래스간의 관계를 간단하게 표현한 이미지 입니다.
macro 클래스는 실질적으로 녹화된 이벤트를 실행하는 클래스로 싱글톤 패턴을 적용하였습니다.
주요기능은 다음과 같습니다.
1.사용자 동작 녹화
기록시작시 사용자의 일부 키 이벤트와 마우스 이벤트를 녹화합니다.
녹화종료시에는 화면에서 녹화된 이벤트 리스트를 확인 할 수 있습니다.
2.매크로 실행
매크로 실행시 리스트에 보이는 이벤트 흐름을따라 무한 반복하게 됩니다.
3.기록옵션 설정
기록옵션을 이용하여 시간지연 허용시간을 조정할 수 있습니다.
시간지연이란 녹화시 사용자의 각 이벤트 사이의 시간입니다.
4.매크로 파일저장 및 불러오기
매크로 저장기능을 이용하여 파일형태로 저장할 수 있습니다.
또한 저장한 매크로 파일을 다시 불러와 실행시킬수 있습니다.