키보드/마우스 메크로 프로그램 - 생활주부 깔끔이

키보드/마우스 메크로 프로그램

key_macro.exe
1.80MB

키보드/마우스 매크로 프로그램은 키보드나 마우스 입력을 자동화하기 위한 프로그램 입니다. 순차적으로 입력되는 키보드나 마우스 입력을 기록해두었다가 원하는 시점에 기록한 것을 실행함으로 단순한 반복작업을 줄여주거나 윈도우의 작업을 일괄처리 할 수 있도록 합니다.

 

매크로 프로그램을 처음 사용하시는 분들께서는 키보드/마우스 매크로 프로그램 V1(쉬운 버전)을 사용하시기 바랍니다. 만일 V1에 익숙하신 분들이라면 키보드/마우스 매크로 프로그램 V2(다기능 버전)을 사용하시기 바랍니다. V2에서는 V1에 없는 많은 기능들이 구현되어 있습니다.

용 설명:

다음은 키보드/마우스 매크로 프로그램에 대한 설명입니다.

 

먼저 key_macro.exe를 실행하면 제일 먼저 열리는 메인 화면에 대한 설명입니다. 제일 윗줄에 "F11 key로 매크로 실행 가능/편집을 토클합니다." 라는 문장이 보입니다. 말그대로 매크로의 실행과 편집 상태를 F11 key로 토글할 수 있다는 것입니다. F11 key는 [설정] 버튼을 눌러 설정 대화상자에서 변경 가능합니다. 

라디오 버튼의 "매크로 실행 가능"이 약간의 오해를 불러일으키는데, 실제로 이 라디오 버튼을 선택했을 때 매크로가 실행 상태로 되지는 않고 실행 가능한 상태가 됩니다. 이 상태에서 매크로 시작 단축키를 눌렀을 때 해당 매크로가 실행됩니다.

다음으로는 버튼에 대해 설명합니다. [...] 버튼을 눌러 새로운 매크로 파일을 열 때  현재 매크로가 변경된 경우는 저장 여부를 물어보는 메시지 박스가 출력 됩니다. [기록] 버튼은 매크로 기록창을 열어 사용자의 키보드와 마우스 입력을 후킹하여 발생하는 이벤트를 녹화하게 됩니다. 즉, 일일이 사용자가 키보드 이벤트 하나하나 마우스 이벤트 하나하나 입력하지 않아도 됩니다.  [추가] 버튼은 매크로 추가창을 열어 사용자가 일일이 키보드와 마우스 이벤트를 작성하여야 합니다. 그러나 매크로 기록에서보다 더 다양한 기능을 사용할 수 있게 됩니다. [편집] 버튼은 이미 작성된 매크로를 편집할 수 있는 매크로 편집창을 엽니다. 매크로 기록창에서 녹화한 매크로를 손볼 때 사용하면 됩니다. [복사] 버튼은 선택된 매크로를 복사합니다. [삭제] 버튼은 선택된 매크로를 삭제합니다. [^] 버튼은 선택된 매크로를 한 칸 위로 올립니다. [v] 버튼은 선택된 매크로를 한 칸 아래로 내립니다. [설정] 버튼은 키보드/마우스 매크로 설정 대화상자를 열어 프로그램 운영에 관련되는 각종 설정을 할 수 있습니다. [OK] 버튼을 누르면 매크로를 저장하고 종료합니다. [Cancel] 버튼을 누르면 매크로를 저장하지 않고 종료합니다.

 

 

 

매크로 기록창은 사용자가 입력하는 키보드와 마우스 이벤트를 후킹하여 기록할 때 사용합니다. 상단에 "F12 key로 매크로 기록을 시작하거나 중지합니다." 라는 메시지가 보이는데, F12키를 누르면 "매크로 기록 중" 상태와 "기록 대기 중" 상태를 토글합니다. 이 키는 설정 창에서 변경 가능합니다. 기록 상태가 "매크로 기록 중"이 되면 기록 옵션에서 체크된 대로 사용자의 키보드와 마우스 입력을 기록합니다. 어떤 이벤트를 기록할지를 결정할 때는, 기록 옵션에서 기록을 원하는 이벤트를 체크하면 됩니다.

기록 방식의 설정과 관련있는 체크박스가 하단에 있는데, "버튼의 누르기/떼기 이벤트를 하나의 이벤트로 합치기"를 체크하면 마지막으로 기록된 이벤트가 키보드나 마우스의 버튼 누르기 상태에서 동일한 버튼에 대한 떼기 상태가 입력되면 이를 하나의 이벤트로 합치게 됩니다. "마우스의 절대 위치를 기록; 체크 해제인 경우 상대 위치를 기록"을 체크하면 마우스 커서의 화면 원점으로부터 절대 위치를 기록합니다. 만일 체크되어 있지않다면, 마우스 커서의 마지막 기록 위치로부터 상대적으로 이동한 양만큼이 기록 됩니다."화면 해상도와 무관하게 마우스 위치 기록"이 체크된 경우는 화면의 가로 세로 크기를 0에서 65535로 스케일 변환한 단위위치가 기록됩니다. 재생할 때는 다시 화면의 가로 세로 크기에 따라 변환되어 재생이 됩니다. 이 기능은 이벤트를 녹화한 화면과 재생할 화면의 크기가 다를 경우 유용하게 사용될 것입니다.

 

 

매크로 추가창에서는 매크로 이름(매크로 이름은 중복되어도 상관없습니다. 단지 사용자에게 매크로를 잘 구분할 수 있도록 적당한 이름을 지으면 됩니다.)을 지정하고 시작/중지 조건을 설정합니다. 그리고 여러 이벤트 추가 버튼들이 있는데, 각각의 기능 추가창에서 설명하고 여기서는 생략하겠습니다.

"매크로 반복 실행 횟수"는 매크로가 시작되었을 때 몇 번을 반복할지를 설정합니다. 반복 횟수가 0이면 중지 단축키가 눌릴 때까지 매크로 실행을 계속 반복하게 됩니다.

"매크로 테스트"그룹 내의 [매크로 시험 실행] 버튼은 현재 작성된 매크로를 시험실행해 볼 수 있는 버튼입니다. 이 때 "시작/중지 단축키 사용"이 체크되어 있으면 시작/중지 단축키로 설정된 키를 사용하여 매크로 시험 실행을 시작하거나 중단할 수 있습니다. 만일 매크로 수행이 완료되지 않고 중단된 상황에서 실행을 하게되면 중단된 위치부터 실행됩니다. 

[마우스 궤적 표시] 버튼을 누르게 되면 화면상에 마우스의 이동 경로를 붉은색 실선으로 표시합니다. 이 때 "선택항목 파란색 박스 표시"가 체크되어 있으면 매크로 리스트에서 선택한 이벤트와 동일한 궤적상의 위치를 파란색 박스로 표시합니다.

버젼 2.01에서부터 매크로 항목(이벤트)에 대한 편집기능을 보완하였는데, 먼저 Shift, Ctrl 키와 마우스 버튼의 조합으로 한 개 이상의 항목을 다중선택할 수 있게 되었습니다. 또한 Ctrl+A 키로 모든 항목 선택, Ctrl+C 키로 선택항목 클립보드로 복사, Ctrl+V 키로 클립보드에서 붙여넣기, Ctrl+X 키로 선택 항목 클립보드로 잘라내기, Delete 키로 선택 항목 삭제 등의 기능들도 사용할 수 있게 되었습니다. 

 

 

 

매크로 기록이나 매크로 추가/편집 창에서 [시작/중지 조건] 버튼을 누르면 매크로 시작/중지 조건 설정창이 뜹니다. 이 창에서는 매크로를 시작 시키고 중지 시키는 단축키, 시각, 화면 색을 설정 가능합니다.

"매크로 실행 가능과 함께 자동 시작" 체크버튼이 있는데, 이는 시작 단축키가 입력되지 않더라도 "매크로 실행 가능" 상태가 될 때 매크로를 바로 시작하게 됩니다. 

"단축키 사용"을 체크하면 시작 단축키와 중지 단축키를 설정할 수 있습니다. 그리고 단축키에 대한 "누를 때"와 "뗄 때"를 선택할 수 있습니다. 버젼 2.04부터 시작/중지 단축키에 Ctrl, Alt, Shift 키 조합을 사용할 수 있도록 변경되었습니다.

"시각 사용"을 체크하면 시작 시각과 중지 시각을 설정할 수 있습니다. 여기서 "--"로 표시된 항목을 선택한 경우는 이 항목을 고려하지 않겠다는 뜻입니다. 만일 시작 시각을 3분 10초로 설정하고 중지 시각을 5분 20초로 설정하였다면, 매 시간 마다 3분 10초와 5분 20초 사이에 해당 매크로가 중지되어 있다면 계속해서 실행시키게 됩니다. 그리고 중지 시각을 지났는데도 매크로가 실행 중이라면 매크로를 강제로 중지시키게 됩니다. 여기서 만일 시작 시각을 중지 시각보다 크게 설정한 경우에는, 예를 들면 시작 시각을 50초로 중지 시각을 10초로 설정한 경우, 매크로는 50초 ~ 59초와 0초 ~ 10초 사이에 실행되게 됩니다.

"화면 색 인식 사용"을 체크하면 X, Y 좌표로 설정한 화면 위치의 색이 R, G, B로 설정한 색이 될 때 매크로를 시작하거나 중지할 수 있게 됩니다. 

 

 

 

이제 매크로 추가/편집 창에서 이벤트 추가 버튼들에 대한 설명입니다. 키보드 이벤트 추가 창에서는 virtual key 이벤트를 추가합니다. 키보드 이벤트를 추가하기위해 가상 키를 선택하고 누르고 떼기, 누르기, 떼기 중 하나를 선택하여 키눌림이 어떤 상태인지를 결정합니다. "누르고 떼기"라디오 버튼은 동일한 가상 키에 대하여 누르기와 떼기가 순차적으로 실행되도록 합니다. 즉, 사람이 키보드의 키를 한 번 치는 것과 같습니다. 만일 대문자를 입력해야 한다면 shift 키를 누른 상태에서 다른 키를 입력해야 하는데, 이런 경우는 Shift 키에 대해서 누르기 이벤트를 만들고 입력할 문자에 해당하는 이벤트를 추가한 후 마지막으로 Shift 키에 대해서 떼기 이벤트를 추가하면 됩니다.

 

 

마우스 이벤트 추가창에서는 마우스 커서의 위치, 마우스 버튼의 눌림, 마우스 휠의 움직임을 추가할 수 있습니다. 상단의 "F10 key를 눌러 커서 위치를 획득합니다." 라는 메시지에서와 같이 F10 키를 누르면 현재 커서 위치가 절대/상대 위치로 복사 됩니다. "마우스의 절대 위치를 기록"을 체크한 상태에서는 화면 원점을 기준으로 마우스 커서의 절대 위치를 기록합니다. 하지만 체크되지 않은 경우는 마지막으로 저장된 마우스 커서의 위치에서 상대적으로 이동한 량만큼의 마우스 커서 위치를 기록합니다. ."화면 해상도와 무관하게 마우스 위치 기록"이 체크된 경우는 화면의 가로 세로 크기를 0에서 65535로 스케일 변환한 단위위치를 기록합니다.

 

 

시간 지연 추가창에서는 두 가지 방법으로 시간을 설정할 수 있습니다. 첫번째 라디오 버튼인 "시간 지연"을 선택한 경우 매크로 수행의 지연 시간을 지정하여, 매크로가 실행될 때 지정된 시간만큼 실행을 대기하도록 합니다. 이와 달리 "지연 시각" 라디오 버튼을 선택한 경우는 설정된 시각이 될 때까지 매크로 실행을 대기하다가 설정된 시각을 지나서야 매크로 실행을 재개합니다. 여기서 "--"로 표시된 항목을 선택한 경우는 이 항목을 고려하지 않겠다는 뜻입니다. 예로서 지연 시각이 "--시 30분 00초"와 같이 설정되었다면 매시 30분 00초가 될 때까지 매크로 실행을 대기하였다가 재개하게 됩니다.

 

 

문자열 추가창은 한글자 한글자 일일이 키보드 이벤트를 발생하는 것이 귀찮고 한번에 여러 키보드 이벤트를 발생해야 할 때 편하게 사용할 수 있습니다. 여기서 한글은 입력할 수 없는데, 만일 키보드의 "한/영" 키를 토글하여 현재 IME 입력 상태가 한글이라면 동일한 알파벳에 해당하는 한글이 입력되게 됩니다. 그리고 "랜덤 문자 생성 사용"을 체크하게 되면 문자열 내의 #, *, ? 문자를 각각 다음과 같이 랜덤한 문자를 생성합니다:

  • # 문자는 임의의 대문자(A ~ Z) 중 하나로 대체 됨
  • * 문자는 임의의 소문자(a ~ z) 중 하나로 대체 됨
  • ? 문자는 임의의 숫자(0 ~ 9) 중 하나로 대체 됨

버젼 2.04부터 연속적인 숫자 생성이 가능하도록 하였습니다. "연속 숫자 생성 사용($)"을 체크하면, 문자열 내에서 $문자를 만날 때마다 1씩 증가하는 숫자 문자열로 대체됩니다. 연속 숫자의 시작 숫자는 설정 대화상자에서 설정가능합니다.

 

 

매크로 추가창은 매크로에서 매크로를 호출할 때 사용됩니다. 프로그램 작성할 때 서브루틴을 호출하는 것과 동일하다고 생각하면 됩니다. 만일 A기능을 수행하고 B기능을 10번 수행하고 다시 A기능을 수행해야하는 상황이라면 A와 B기능을 매크로로 작성한 후 C 매크로를 작성하면서 A와 B 매크로를 추가하면 될 것입니다.

버젼 2.04에서 '순차적 실행'과 '병렬 실행' 옵션이 추가되었습니다. 순차적 실행은 호출된 매크로의 실행이 끝날 때까지 호출한 매크로가 기다리게 됩니다. 병렬 실행은 호출된 매크로를 실행시키고 호출한 매크로도 계속 실행하는 방식입니다.

 

 

독립실행구간 추가창은 여러 매크로가 동시에 실행될 때 유용하게 사용할 수 있는 Critical Section과 같은 기능을 제공합니다. 여러 매크로가 동시에 실행되더라도 "독립실행구간으로 들어감" 과 "독립실행구간으로부터 나옴" 이벤트로 감싼 구간은 유일하게 하나의 매크로만 진입할 수 있게 됩니다. 다음 A와 B매크로의 간단한 예제와 실행결과를 살펴보시기 바랍니다. 

 

 A매크로 (반복실행 10회로 설정)  B매크로 (반복실행 10회로 설정)

 <<< 독립실행구간으로 들어감

 키보드 0 key

 시간지연 1.000초

 키보드 1 key

 시간지연 1.000초

 키보드 2 key

 시간지연 1.000초

 >>> 독립실행구간으로부터 나옴

 시간지연 5.000초

 <<< 독립실행구간으로 들어감

 키보드 3 key

 시간지연 1.000초

 키보드 4 key

 시간지연 1.000초

 키보드 5 key

 시간지연 1.000초

 >>> 독립실행구간으로부터 나옴

 시간지연 5.000초

 

상기와 같은 두 매크로 A, B를 동시에 실행하면 출력되는 문자가 012345012345와 같이 A매크로에서 독립실행구간으로 묶인 구간의 이벤트가 완전히 수행되고 나서 B매크로에서 독립실행구간으로 묶인 구간의 이벤트가 수행됩니다. 만일 A, B 매크로에서 독립실행구간을 제거하게 되면 출력되는 문자는 대략 031425031425031425 과 같이 섞이게 됩니다. 이와 같이 독립실행구간은 여러 매크로에서 상호 배타적인 실행을 보장해야 할 경우 사용하게 됩니다.

 

 

반복구간 추가창은 매크로 실행 중 여러 번 반복되는 기능을 만들 때 사용합니다. 반복 구간의 시작은 "반복 구간으로 들어감"을 선택하여 설정합니다. 그리고 반복 구간 내에서 반복 값에 따른 키보드나 마우스 이벤트를 만들어 낼 수 있는데, "반복 숫자를 키보드 이벤트로 출력", "반복 숫자를 마우스 X 위치로 설정", "반복 숫자를 마우스 Y 위치로 설정" 기능을 사용할 수 있습니다.

반복 구간의 끝은 "반복 구간에서 나옴"을 설정하여 결정합니다.

 

 

마지막으로 설정창입니다. "다른 윈도우보다 항상 위에 두기"를 체크하면 키보드/마우스 매크로 프로그램의 메인 창이 항상 다른 윈도우들보타 위에 오게 됩니다. 그리고 "프로그램 시작시 시스템 트레이로 최소화"를 체크하면 프로그램이 시작될 때 메인 창이 뜨지 않고 시스템 트레이에 작은 아이콘이 생기면서 실행되게 됩니다.

매크로 실행/편집 토글 키는 메인 화면의 "매크로 실행 가능"과 "실행 중단과 편집"을 토글할 때  사용됩니다.  매크로 실행시 리스트 박스에서 선택된 매크로 실행"이 체크된 경우는 메인 창의 매크로 리스트 박스에서 선택된 매크로를 "매크로 실행 가능"과 함께 시작하게 됩니다. "매크로에서 생성한 이벤트로 다른 매크로 시작/중지 허용" 을 체크하면, 매크로가 실행되면서 발생하는 키보드 마우스 이벤트가 다시 입력되어 새로운 매크로를 실행가능하게 됩니다. 예를 들자면, B매크로는 F5키를 눌러 시작하는 매크로라면, A매크로가 실행되면서 키보드 이벤트로 F5키 누름을 발생하여 B매크로를 실행 시작시킬 수 있게 됩니다.

"매크로 실행/중단 시 로그 기록"을 체크하면 지정된 파일 명에 매크로 실행과 중단시 메시지를 기록합니다. "매크로 실행 시 아이콘 깜박임 및 말풍선 알림"을 체크하면 "매크로 실행 가능" 상태에서 1초 주기로 아이콘을 깜박입니다. 그리고 새로운 매크로가 시작되고 끝날 때마다 트레이에서 말풍선으로 알려줍니다.

"문자열 추가에서 시퀀스 숫자 시작 값"에는 문자열 추가 창에서 "연속 숫자 생성 사용"을 체크하였을 때 연속 숫자의 시작 값을 설정합니다. 이 숫자는 문자열 내에서 $ 기호를 만날 때마다 1씩 증가하여 해당 숫자에 대한 키보드 이벤트를 발생시킵니다. 매크로 이벤트 실행 주기는 매크로에 작성된 각 이벤트들을 하나하나 실행하는 주기를 의미합니다. 최소 실행주기는 1밀리초입니다.

매크로 기록 시작/중단 키는 매크로 기록 창에서 매크로 기록을 시작하고 중단하는 단축키입니다. 그리고 마우스 현재 위치 캡쳐 키는 매크로 추가/편집 창에서 마우스 현재 위치를 캡쳐하여 매크로 항목에 추가하는 단축키 입니다.

매크로 시작/중지 조건 설정 창에서 사용되는 키로 시작 색과 위치 선택 키, 종료 색과 위치 선택 키가 있습니다. 이 키가 눌리면 마우스의 현재 위치를 읽어와 X, Y 에 설정하고 현재 위치에서의 색을 읽어와 R, G, B에 설정합니다. "화면에 시작/종료 색 인식 위치 표시"를 체크하면 "매크로 실행 가능" 상태에서 화면에 매크로 시작과 종료 색 인식 위치를 빨간색과 파란색 박스로 표시합니다.

 

 

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유