일반

[AutoHotkey] 단축키(Hotkey) 스크립트 작성과 자동 시작 등록

Posted 2018. 11. 04 Updated 2021. 12. 28 Views 24283 Replies 0
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

autohotkey.jpg

AutoHotkey의 간단한 응용으로, 지정한 단축키를 눌렀을 때 특정 동작을 실행하도록 할 수 있습니다. 단축키가 눌렸을 때 GUI 팝업창 열기와 같은 AutoHotkey 내부 기능을 실행하도록 하거나, Windows 프로그램이나 명령을 실행하도록 할 수 있습니다.

이 글에서는 가장 간단한 응용으로 단축키를 눌렀을 때 Windows 프로그램/명령을 실행하거나, 특정 키 입력(Keystroke)을 전달하는 방법에 대해 다루도록 하겠습니다.

Windows 자체적으로도 사용자 정의 단축키를 지정하는 방법이 있긴 합니다. 실행할 명령을 Batch 파일(*.bat)로 만들고 단축 아이콘(바로 가기)을 생성한 뒤, 단축 아이콘의 속성창에서 단축키(바로 가기 키)를 지정하는 방식입니다. 하지만 뭐가 문제인지 단축키를 눌렀지만 씹히고 실행이 되지 않는 경우가 종종 있습니다. 따라서 Windows 내장 단축키 기능을 사용하기 보다는, 필요한 단축키들을 모아서 하나의 AutoHotkey 스크립트 파일로 만들어 쓰는 편이 훨씬 더 낫습니다.

 

단축키 루틴

특정 단축키 조합이 눌렸을 때 수행할 동작을 지정하는 AutoHotkey 루틴은 다음과 같습니다.

{키_조합}::
    {실행_구문}
    ...
Return

단일 스트립트 파일 안에 위 루틴을 여러 개 집어넣으면 해당 수만큼의 단축키를 지정할 수 있습니다.

 

키 조합

{키_조합}에는 사용할 단축키를 지정합니다. 보통 단축키는 Ctrl, Alt와 같은 기능키와 일반키를 조합해서 지정하는데, 다음 기호들이 대표적인 기능키를 나타냅니다.

  • #: Win
  • !: Alt
  • ^: Ctrl
  • +: Shift

여러 개의 기능키들을 조합해서 사용할 수도 있는데, 예를 들어 "^!d"[Ctrl]+[Alt]+[D]를 의미합니다. 이 외에 여러 다른 기능키들은 다음 매뉴얼 페이지에 나열되어 있습니다.

  • 키 지정 방법: https://autohotkey.com/docs/Hotkeys.htm
  • 전체 키 목록: https://autohotkey.com/docs/KeyList.htm

 

실행 구문

{실행_구문}에는 해당 단축키가 눌려졌을 때 실행할 동작을 지정합니다. 기본적으로 Windows 프로그램/명령을 실행하거나 지정한 키 입력을 전달할 수 있고, AutoHotkey API를 나열해서 더 복잡한 기능을 구현할 수도 있습니다.

 

ⅰ) Windows 프로그램/명령 실행

명령 프롬포트(cmd.exe)에서 사용 가능한 모든 명령을 지정할 수 있습니다.

Run, {명령}

 

ⅱ) 키 입력 (Keystroke) 전달

현재 활성화(Focus) 되어 있는 창으로 키 입력을 전달합니다.

Send, {입력값}

{입력값}에는 일반 텍스트와 키를 섞어서 지정할 수 있습니다. 단, 키를 지정할 때는 {..} 사이에 키 이름(Key Name)을 입력해야 합니다. 예를 들어, 스타크래프트에서 쇼미더머니 치트키를 입력하는 단축키(...)를 정의하려면 Send 구문을 다음과 같이 작성하면 됩니다.

Send, {Enter}show me the money{Enter}

이 외에도 {Up}, {Down}, {Tab}등과 같은 키들을 지정할 수 있는데, 사용 가능한 전체 키 이름 목록은 여기에 나열되어 있습니다.

 

단축키 스크립트 예제

다음 예제는 다음 세 가지 단축키를 정의하는 스크립트를 작성한 것입니다.

  • [Ctrl]+[Alt]+[T] → Teraterm 실행
  • [Ctrl]+[Alt]+[D] → 장치 관리자 (Device Manager) 열기
  • [Alt]+[Insert] → "[YYMMDD]" 입력
;[Ctrl]+[Alt]+[T] -> Launch Teraterm
^!t::
    Run, "C:\Program Files (x86)\teraterm\ttermpro.exe"
Return

;[Ctrl]+[Alt]+[D] -> Open Device Manager
^!d::
    Run, devmgmt.msc
Return

;[Alt]+[Insert] -> Type date string "[YYMMDD]"
!Insert::
    FormatTime, date_string, , yyMMdd
    Send, % "[" . date_string . "]"
Return

참고: 세미콜론(;)으로 시작하는 줄은 주석으로 처리되어 무시됩니다.

 

부팅시 데몬 자동 시작하기

단축키를 사용하려면 작성한 스크립트 파일을 더블클릭해서 AutoHotkey 데몬을 실행해 놓은 상태에서 키 조합을 눌려야 합니다. 항상 사용하는 단축키 스크립트는 Windows 시작시 자동으로 실행되도록 시작 프로그램에 등록해 놓고 사용하면 편리합니다.

작성한 스크립트 데몬이 Windows 시작시 자동으로 실행되도록 하려면 Windows 시작프로그램 폴더(시작 → 실행 → "shell:startup")에 작성한 스크립트나 스크립트 단축 아이콘을 위치시키도록 합니다.

참고: 이 방법 외에 시작 프로그램 Registry에 등록하는 방법도 있는데, 어차피 효과는 동일합니다. 굳이 시작프로그램 폴더를 깔끔하게 유지해야 할 이유가 없다면, 그냥 바로가기 만들어서 짱박아놓고 쓰도록 합니다.