Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 353
  • 2682212
DNS Powered by DNSEver.com
일반

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

Posted 2018. 11. 04 Updated 2021. 12. 28 Views 24147 Replies 0
Atachment
첨부

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

 

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
193 일반 [Make 튜토리얼] Makefile 예제와 작성 방법 및 기본 패턴 2 file TUW 2018.11.21 243280
192 XE Social XE 트위터 프로필사진 표시 문제 해결하기 3 file TUW 2017.06.02 205359
191 일반 [CMake 튜토리얼] 2. CMakeLists.txt 주요 명령과 변수 정리 1 file TUW 2019.10.02 186488
190 일반 [CMake 튜토리얼] 1. CMake 소개와 예제, 내부 동작 원리 file TUW 2018.06.13 173090
189 Linux Windows 및 Linux 클라이언트에서 SSH 자동 로그인 설정하기 file TUW 2018.07.22 136287
188 Linux Root권한 없이 Wireshark 사용하기 file TUW 2017.06.02 110161
187 일반 영어로 나타낸 수학 용어 모음 2 file TUW 2018.01.08 86052
186 일반 [Windows] 다중 NIC(LAN카드) 환경에서 Routing Table 설정 - route 명령 2 file TUW 2019.10.21 74825
185 일반 [GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert TUW 2019.04.28 65327
184 일반 Windows에서 포트 포워딩(Port Forwarding) 설정하기 - Netsh TUW 2018.02.03 65048
183 AVR [AVR 강의] AVR 강의용 예제 프로그램 모음 file TUW 2017.06.02 63538
182 Linux Ubuntu에서 PATH 설정하기 TUW 2014.04.20 61556
181 일반 File Object (<input type='file' />)에 대하여 2 file TUW 2017.06.02 51742
180 일반 [CMake 튜토리얼] 3. CMakeLists.txt 기본 패턴 5 TUW 2019.08.19 50272
179 일반 신호 레벨 변환 회로(Level Transceiver/Translator/Shifter) 설계 file TUW 2021.12.28 49219
178 일반 [GIT] Branch 관리하기: branch, checkout, push, pull 2 TUW 2018.02.03 48806
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5