AutoHotkey는 Windows에서 단축키, 반복 입력, 프로그램 실행과 창 제어를 .ahk 스크립트로 만드는 무료 오픈소스 자동화 도구입니다. 최신 안정판 2.0.28은 v2 문법을 사용하며 설치형 EXE와 ZIP 파일을 제공합니다.
AutoHotkey는 녹화 버튼으로 동작을 기록하는 일반 매크로 프로그램과 달리 코드를 직접 작성합니다. 첫 스크립트에 메모장 실행 단축키와 종료 키를 넣고, 저장·실행·재로드·종료까지 확인하면 안전한 첫 자동화를 완성할 수 있습니다.
AutoHotkey는 어떤 Windows 자동화 도구인가요?
AutoHotkey는 키 조합, 텍스트 치환, 프로그램 실행과 창 제어를 스크립트로 정의하는 Windows용 도구입니다.
Dash에서 스크립트를 만들고 Window Spy로 창 정보를 확인하며, 실행 중에는 알림 영역 메뉴에서 재로드·일시 중지·종료를 관리합니다.
AutoHotkey InputBox·MsgBox 실제 대화상자
AutoHotkey 공식 v2 문서가 제공하는 실제 대화상자 예시입니다. 스크립트에서 입력창과 메시지창을 만들 때 제목, 입력란과 버튼 구성을 확인할 수 있습니다.
| 문법 | AutoHotkey v2 |
|---|---|
| 스크립트 | .ahk |
| 도구 | Dash·Window Spy |
| 핫키 | 지원 |
| 핫스트링 | 지원 |
| 라이선스 | GPL-2.0 |
AutoHotkey 2.0.28 설치와 v2 선택
Windows PC에서 일반 설치를 하려면 AutoHotkey_2.0.28_setup.exe를 실행합니다. 설치 화면에서 현재 사용자용 설치를 진행하면 .ahk 스크립트 연결과 Dash, Window Spy 같은 도구를 사용할 수 있습니다. 압축 파일 AutoHotkey_2.0.28.zip은 프로그램 파일을 직접 관리하거나 포터블 구성이 필요할 때 선택합니다. AutoHotkey는 GPL-2.0으로 배포되는 무료 오픈소스 Windows 자동화 도구입니다.
새 스크립트는 v2 문법으로 작성합니다. 오래된 예제는 v1 문법일 수 있으며 명령 구문, 함수 호출과 변수 표현 방식이 v2와 달라 그대로 실행되지 않을 수 있습니다. 첫 줄에 `#Requires AutoHotkey v2.0`을 넣으면 잘못된 버전으로 여는 상황을 줄일 수 있습니다. v1 스크립트가 꼭 필요하면 v2 원고와 파일을 분리하고 사용 문서를 혼용하지 않습니다.
- AutoHotkey_2.0.28_setup.exe를 받아 실행합니다.
- 설치 후 Dash에서 v2가 표시되는지 확인합니다.
- New Script로 확장자가 .ahk인 파일을 만듭니다.
- 첫 줄에 #Requires AutoHotkey v2.0을 입력합니다.
첫 스크립트 만들고 실행하기
Dash에서 New Script를 선택하거나 파일 탐색기의 새 항목에서 AutoHotkey Script를 만듭니다. 메모장이나 코드 편집기로 파일을 열고 `#Requires AutoHotkey v2.0` 다음 줄에 `^!n::Run "notepad.exe"`를 입력합니다. `^`는 Ctrl, `!`는 Alt를 뜻하므로 이 예제는 Ctrl+Alt+N으로 메모장을 실행합니다. 파일을 UTF-8로 저장합니다.
저장한 .ahk 파일을 두 번 클릭하면 작업 표시줄 알림 영역에 초록색 H 아이콘이 나타납니다. Ctrl+Alt+N을 눌러 메모장이 한 번 열리는지 확인합니다. 반응이 없다면 알림 영역에서 스크립트가 실행 중인지 보고, 파일을 마우스 오른쪽 버튼으로 눌러 오류 메시지가 있는지 확인합니다. 동작을 바꾼 뒤에는 저장하고 Reload Script를 실행해야 새 코드가 적용됩니다.
- New Script로 first.ahk를 만듭니다.
- v2 요구 줄과 Ctrl+Alt+N 핫키를 입력합니다.
- 파일을 저장하고 두 번 클릭해 실행합니다.
- Ctrl+Alt+N을 눌러 메모장이 열리는지 확인합니다.
키 조합과 단축키 충돌 피하기
AutoHotkey 기호에서 `#`은 Windows 키, `^`는 Ctrl, `!`는 Alt, `+`는 Shift입니다. `#q::Run "calc.exe"`처럼 한 줄로 프로그램 실행 단축키를 만들 수 있습니다. 이미 Windows나 사용 중인 앱이 차지한 조합은 피하고, F1처럼 기본 기능이 있는 키를 덮어쓸 때는 필요한 범위를 먼저 확인합니다. 테스트 단계에서는 다른 앱을 닫지 않는 안전한 조합을 선택합니다.
특정 프로그램에서만 핫키가 작동하게 하려면 `#HotIf WinActive("ahk_exe notepad.exe")` 아래에 핫키를 두고 마지막에 `#HotIf`로 조건을 끝냅니다. 조건을 닫지 않으면 아래쪽 핫키까지 같은 앱에 묶일 수 있습니다. Window Spy에서 실제 실행 파일 이름, 창 제목과 클래스 정보를 확인한 뒤 조건에 사용합니다.
반복 입력과 Send 사용하기
짧은 문장을 입력하려면 중괄호 함수 블록 안에서 `Send "반복할 문장"`을 사용합니다. 예를 들어 F8을 눌렀을 때 한 번 입력하도록 만든 뒤 메모장에서 먼저 시험합니다. Enter나 Tab 같은 특수 키는 `{Enter}`, `{Tab}` 형식으로 보냅니다. 반복 횟수가 필요하면 Loop 블록 안에 Send를 두되 대상 프로그램이 입력을 처리할 시간을 고려합니다.
무한 반복은 키보드와 마우스 제어를 어렵게 만들 수 있으므로 처음부터 종료 핫키를 같이 둡니다. `Esc::ExitApp`처럼 Esc로 스크립트를 끝내고, 반복 사이에는 `Sleep 200`처럼 충분한 간격을 둡니다. 쇼핑, 게임, 금융 거래나 서비스 약관을 위반할 수 있는 자동 입력에는 사용하지 않고 본인이 제어하는 문서와 업무 프로그램에서만 시험합니다.
핫스트링으로 자주 쓰는 문구 확장하기
핫스트링은 짧은 약어를 긴 문장으로 바꿉니다. `::addr::서울시 …`처럼 작성하면 addr를 입력하고 끝 문자를 눌렀을 때 지정한 문구로 치환됩니다. 이메일 서명, 상담 문구나 자주 쓰는 경로에 활용할 수 있습니다. 개인정보가 들어 있는 문구는 스크립트 파일을 다른 사람과 공유하지 않고 동기화 폴더 권한도 확인합니다.
한글 입력기 상태와 대상 프로그램에 따라 치환 시점이 다를 수 있으므로 메모장, 브라우저 입력란과 실제 업무 앱에서 각각 시험합니다. 원치 않는 단어 안에서도 발동하면 더 긴 약어를 정하거나 옵션을 조절합니다. 줄바꿈이 많은 문장은 함수형 핫스트링과 SendText를 사용해 특수 문자 해석을 줄이고 결과를 확인합니다.
Window Spy로 창과 좌표 확인하기
Dash 또는 설치 폴더에서 Window Spy를 열면 마우스 아래 창의 제목, 실행 파일, 클래스, 컨트롤과 좌표를 확인할 수 있습니다. 자동화할 앱을 앞에 두고 Window Spy를 항상 위로 유지한 뒤 ahk_exe와 창 제목을 기록합니다. 창 제목은 문서 이름에 따라 바뀔 수 있으므로 가능한 경우 실행 파일과 클래스를 함께 사용합니다.
마우스 좌표 자동화가 필요하면 화면 좌표인지 활성 창 기준인지 먼저 정하고 CoordMode를 명시합니다. 해상도, 배율과 창 위치가 바뀌면 고정 좌표가 어긋날 수 있어 이미지나 컨트롤 식별이 가능한지 먼저 검토합니다. 좌표 클릭을 사용하더라도 실제 버튼 위에서 시험하고 삭제·결제 같은 되돌리기 어려운 동작에는 바로 연결하지 않습니다.
스크립트 일시 중지·재로드·종료하기
실행 중인 스크립트는 알림 영역의 AutoHotkey 아이콘 메뉴에서 Open, Help, Window Spy, Reload Script, Edit Script, Suspend Hotkeys, Pause Script와 Exit를 사용할 수 있습니다. 코드 수정 뒤에는 Reload Script, 핫키만 잠시 막으려면 Suspend Hotkeys, 실행 흐름을 멈추려면 Pause Script를 선택합니다. 완전히 끝낼 때는 Exit를 사용합니다.
오류가 반복되면 아이콘 메뉴의 Edit Script로 문제 줄을 열고 괄호, 따옴표와 v2 함수 문법을 확인합니다. 동일한 스크립트를 여러 번 실행하면 기존 인스턴스 처리 설정에 따라 경고가 뜨거나 동작이 겹칠 수 있습니다. 파일 첫 부분에 `#SingleInstance Force`를 넣으면 새 실행이 기존 인스턴스를 교체하므로 개발 중 중복 실행을 줄일 수 있습니다.
Windows 시작 시 자동 실행하기
검증이 끝난 스크립트만 시작 프로그램에 넣습니다. Win+R을 누르고 `shell:startup`을 실행한 뒤 .ahk 파일 자체보다 스크립트 바로가기를 배치하면 원본 위치를 유지하기 쉽습니다. 재부팅 후 알림 영역에 아이콘이 하나만 나타나는지, 기본 단축키와 충돌하지 않는지 확인합니다. 원본 파일을 옮기면 바로가기 대상 경로도 다시 지정합니다.
문제가 생겼을 때 안전하게 복구할 수 있도록 종료 핫키와 파일 위치를 기록합니다. 로그인 직후 창이나 네트워크가 준비되기 전에 실행하는 명령은 실패할 수 있으므로 필요한 경우 Sleep 또는 창 대기를 사용합니다. 더 이상 쓰지 않으면 시작 프로그램 폴더의 바로가기를 제거하고 실행 중인 스크립트도 Exit로 끝냅니다.
실행 오류와 관리자 권한 문제 해결
.ahk 파일을 두 번 클릭해도 열리지 않으면 AutoHotkey v2 설치와 파일 연결을 확인합니다. 오류 창에 줄 번호가 나오면 해당 줄의 v1 명령 문법, 빠진 괄호와 따옴표를 먼저 봅니다. v1용 예제에서 `MsgBox, text`를 복사했다면 v2의 `MsgBox "text"`처럼 함수 호출로 고쳐야 합니다. 한 파일 안에서 v1과 v2 문법을 섞지 않습니다.
일반 권한 스크립트는 관리자 권한으로 실행한 프로그램에 입력이나 창 제어를 보내지 못할 수 있습니다. 먼저 대상 앱을 일반 권한으로 실행하고, 꼭 필요한 경우에만 스크립트 권한을 맞춥니다. 보안 경고를 피하려고 출처 불명의 스크립트를 관리자 권한으로 실행하지 않습니다. 백신 경고가 뜨면 파일 내용을 직접 확인하고 공식 AutoHotkey 실행 파일의 경로와 서명을 점검합니다.
작은 자동화 하나를 끝까지 확인하기
first.ahk에 v2 요구 줄, 단일 인스턴스 설정, Ctrl+Alt+N 메모장 실행과 Esc 종료 핫키를 넣습니다. 저장 후 실행하고 알림 영역 아이콘을 확인합니다. 핫키를 한 번 눌러 메모장이 하나 열리는지 보고 Esc로 스크립트가 종료되는지 확인합니다. 다시 실행해 Reload Script와 Suspend Hotkeys도 한 번씩 시험합니다.
테스트가 끝나면 스크립트 상단에 용도, 만든 날짜와 종료 키를 주석으로 남깁니다. 실제 업무에 적용하기 전에 잘못된 창에서 핫키가 눌려도 피해가 없는지 검토하고 `#HotIf`로 범위를 좁힙니다. 자동화 결과를 직접 확인한 뒤에만 시작 프로그램에 추가하면 설치와 첫 키보드 자동화 작업이 완성됩니다.
자주 묻는 질문
AutoHotkey는 무료인가요?
네. GPL-2.0으로 배포되는 무료 오픈소스 Windows 자동화 도구입니다.
v1 예제를 v2에서 그대로 쓸 수 있나요?
아니요. 명령과 함수 문법이 달라 수정이 필요합니다. 새 파일 첫 줄에 #Requires AutoHotkey v2.0을 넣습니다.
스크립트를 수정했는데 동작이 바뀌지 않아요.
파일을 저장한 뒤 알림 영역 아이콘 메뉴에서 Reload Script를 실행합니다.
핫키를 잠시 끄려면 어떻게 하나요?
알림 영역 AutoHotkey 아이콘 메뉴에서 Suspend Hotkeys를 선택합니다. 완전히 끝내려면 Exit를 사용합니다.
관리자 권한 앱을 제어할 수 없어요.
권한 수준이 다르면 입력과 창 제어가 제한될 수 있습니다. 먼저 대상 앱을 일반 권한으로 실행하고 꼭 필요한 경우에만 스크립트 권한을 맞춥니다.
메모장 실행 단축키와 종료 키부터 확인하세요
AutoHotkey 2.0.28을 설치하고 v2 스크립트에 안전한 단축키와 Esc 종료 키를 넣으세요. 메모장에서 한 번 실행하고 Reload·Suspend·Exit까지 확인한 뒤 실제 앱에는 #HotIf로 범위를 좁혀 적용하면 첫 Windows 자동화가 완성됩니다.
공식 자료와 확인일
AutoHotkey 공식 사이트 · AutoHotkey v2 공식 문서 · AutoHotkey 2.0.28 공식 릴리스 · AutoHotkey 공식 저장소 | 2026-10-01T05:46:02.778621+09:00

