ETC/Auto Hotkey

AutoHotkey, 자동화의 마법사: ControlSend와 Click으로 워크플로우를 혁신하다!

shimdh 2025. 10. 26. 10:03
728x90

안녕하세요, 생산성 팬 여러분! 매일 반복되는 지루한 작업들—예를 들어, 메모장 입력, 버튼 클릭, 복사-붙여넣기—에 시간을 낭비하고 계신가요? 오늘은 그런 문제를 해결할 수 있는 강력한 무기, AutoHotkey를 소개합니다. AutoHotkey는 Windows 환경에서 스크립트를 통해 키보드와 마우스 입력을 자동화하는 무료 오픈소스 도구입니다. 이 글에서는 AutoHotkey의 핵심 기능인 ControlSendClick 명령을 깊이 파고들어, 실제 예시를 통해 어떻게 우리의 디지털 워크플로우를 혁신할 수 있는지 알아보겠습니다.

AutoHotkey를 처음 사용하신다면? 공식 사이트에서 다운로드해 설치하세요. 설치 후 간단한 .ahk 파일을 만들어 실행하면 바로 시작할 수 있습니다. 이제 본격적으로 탐험해 보죠!

728x90

ControlSend: 백그라운드 자동화의 핵심

ControlSend는 특정 창이나 그 안의 컨트롤(예: 텍스트 입력 상자)에 키 입력을 직접 보내는 명령어입니다. 이 기능의 매력은 포커스 없이도 작동한다는 점! 즉, 대상 앱을 앞세우지 않고 백그라운드에서 자동화가 진행되므로, 여러 작업을 병행할 수 있어 생산성이 폭발적으로 증가합니다. 예를 들어, 엑셀에서 데이터를 입력하면서 동시에 이메일을 확인할 때 유용하죠.

ControlSend의 핵심 개념

  • 대상 창 (Window Title): 키 입력을 보낼 애플리케이션 창을 지정합니다. 예: "Untitled - Notepad" 또는 "Google Chrome".
  • 컨트롤 (Control ID/ClassNN): 창 내 특정 요소를 타겟팅합니다. 텍스트 필드(Edit1), 버튼(Button1) 등. Window Spy 도구( AutoHotkey에 포함)를 사용해 쉽게 식별할 수 있어요.
  • 키 입력 (KeysToSend): 실제 키보드 입력을 시뮬레이션합니다. 문자, 숫자, 특수키(Enter, Tab) 모두 지원.

ControlSend 구문 및 실제 예시

기본 구문은 간단합니다:

ControlSend, ControlID|ClassNN, KeysToSend, WindowTitle
  • ControlID|ClassNN: 컨트롤 식별자 (생략 가능, 전체 창으로 보낼 때).
  • KeysToSend: 입력할 텍스트나 키.
  • WindowTitle: 대상 창 제목 (부분 매치 가능).

예시 1: 메모장에 "Hello World!" 자동 입력

메모장을 백그라운드에서 열고 텍스트를 입력해 보죠. 이 스크립트는 메모장을 실행한 후, 사용자가 다른 창을 보더라도 자동으로 입력합니다.

; 메모장 열기
Run, Notepad.exe

; 메모장이 활성화될 때까지 대기 (약 1초)
WinWait, Untitled - Notepad,, 1

; ControlSend로 "Hello World!" 입력 후 Enter
ControlSend,, Hello World!{Enter}, Untitled - Notepad

실행 결과: 메모장에 "Hello World!"가 입력되고 줄바꿈이 됩니다. 이제 여러분은 브라우저에서 기사를 읽으면서도 이 작업이 완료됐어요!

예시 2: 엑셀에서 데이터 자동 입력 (워크플로우 적용)

일상 업무에서 유용한 예: 브라우저에서 복사한 주소를 엑셀 셀에 자동 입력. (엑셀이 포커스 안 돼도 OK)

; 가정: 엑셀이 이미 열려 있음. A1 셀에 입력
ControlSend, Edit1, 서울시 강남구 테헤란로 123{Enter}, Microsoft Excel - Sheet1

이처럼 ControlSend는 데이터 마이그레이션이나 보고서 작성 시 시간을 절약해 줍니다.

다양한 수정자와 함께 키 입력 보내기

단순 텍스트뿐 아니라 수정자 키(Shift, Ctrl, Alt) 를 조합할 수 있습니다. 기호로 표현되죠:

  • ^: Ctrl (e.g., ^c = Ctrl+C 복사)
  • +: Shift (e.g., +a = Shift+A 대문자)
  • !: Alt (e.g., !f = Alt+F 메뉴 열기)
  • #: Win 키

예시: 메모장에서 텍스트 복사 후 붙여넣기

; Ctrl+A (전체 선택)
ControlSend,, ^a, Untitled - Notepad
Sleep, 100  ; 0.1초 대기 (안정성 위해)

; Ctrl+C (복사)
ControlSend,, ^c, Untitled - Notepad
Sleep, 100

; 다른 창(예: 워드)으로 붙여넣기
ControlSend,, ^v, Document1 - Microsoft Word

이 조합으로 클립보드 작업을 백그라운드에서 처리할 수 있어요. 팁: Sleep 명령으로 타이밍을 조절하면 오류를 줄일 수 있습니다.

Click 명령: 마우스 자동화의 시작

키보드 입력만으로는 부족할 때, Click 명령이 등장합니다. 이 명령은 마우스 클릭, 드래그, 스크롤 등을 시뮬레이션해 GUI(그래픽 사용자 인터페이스) 앱과 상호작용합니다. 웹 폼 제출, 소프트웨어 버튼 클릭 등에 딱!

Click 명령 사용 구문

Click, X, Y [, Count, Options]
  • X, Y: 클릭할 화면 좌표 (생략 시 현재 커서 위치).
  • Count: 클릭 횟수 (기본 1).
  • Options: "Right" (오른쪽 클릭), "Middle" (가운데), "Down" (누르기만) 등.

좌표는 Window Spy로 쉽게 확인할 수 있어요. 절대 좌표(화면 기준)나 상대 좌표(창 기준)를 사용할 수 있습니다.

클릭의 실제 예시

예시 1: 특정 버튼 자동 클릭

화면 왼쪽 100px, 위 200px에 있는 "저장" 버튼을 클릭. (예: 파일 탐색기에서)

; 마우스 이동
MouseMove, 100, 200, 0  ; 0 = 즉시 이동

; 왼쪽 클릭 (2회: 더블 클릭)
Click, 100, 200, 2

워크플로우 적용: 이메일 클라이언트에서 "보내기" 버튼을 자동 클릭하면, 매일 수십 번의 클릭을 절약할 수 있습니다.

예시 2: 드래그 앤 드롭 시뮬레이션

파일을 폴더로 드래그:

; 시작점으로 이동 후 누르기
MouseMove, 300, 400
Click, Down

; 끝점으로 이동 후 떼기
MouseMove, 500, 450
Click, Up

이 기능으로 파일 관리나 디자인 소프트웨어 자동화가 가능해집니다.

ControlSend + Click: 강력한 콤보로 워크플로우 혁신

이 두 명령을 결합하면? 예를 들어, 웹 브라우저에서 검색 후 다운로드 버튼 클릭:

; 검색어 입력
ControlSend, Edit1, 자동화 팁{AEnter}, Google - Chrome  ; {AEnter} = Alt+Enter

Sleep, 2000  ; 검색 결과 대기

; 다운로드 버튼 클릭 (가정 좌표)
MouseMove, 800, 600
Click

이 스크립트 하나로 연구나 콘텐츠 수집이 수 초 만에 끝납니다. 실제로 마케터나 개발자들이 이 조합으로 하루 2시간을 절약한다고 해요!

결론: AutoHotkey로 생산성 향상!

ControlSend와 Click 명령을 마스터하면, 반복 작업이 사라지고 창의적인 일에 집중할 수 있습니다. 지루한 루틴을 스크립트로 위임하세요—AutoHotkey는 여러분의 디지털 조수입니다. 위 예제를 복사해 .ahk 파일로 저장하고 F5로 실행해 보세요. 

728x90