AutoHotKey

1 개요

무료 오픈소스 기반의 매크로 스크립트 언어이다. 쉽게 말하면 사용자가 지정한 키보드, 마우스 등의 입력을 그대로 반복해서 실행할 수 있게 도와준다.

이 프로그램은 2003년 경에 처음 공개되었는데, 사실 이보다 이전인 1999년경에 나온 AutoIt오톨트가 아니라 오토잇이다을 만들던 제작자 그룹 중 한 명이 AutoIt V2에서 V3로 넘어가는 시점에서 컨셉에 대한 견해차이로 따로 독자적으로 만들어 AutoIt 커뮤니티에 공개하면서 나온 물건이다. AutoIt V2를 기반으로 했기 때문에 그 문법을 그대로 차용하고 있으며, 현재의 AutoIt V3는 아예 다른 문법을 가지고 있다.

처음에는 AutoIt, AHK 모두 GPL 라이센스하에 소스를 공개했으나, AutoIt측은 "경쟁자가 지속적으로 우리의 소스를 베끼고 있다" 면서 소스 비공개로 바뀌었다.

2 특징

거의 모든 명령이 쉼표로 구성되어있다.
Imagesearch, vx, vy, 0,0, A_Screenwidth, A_Screenheight, *50 1.png [1]
와같이 쉼표가 매우많이 들어간다.

오토핫키라는 이름에 걸맞게 단축키 지정에 특화되어 있다. 단축키에 특정 기능을 실행시키는 정도는 코드 한줄로 해결 가능. 또한 그나마 쉽게 만든다고 만든 AutoIt 만 해도 BASIC 언어의 형태를 그대로 가지고 있었기 때문에 비프로그래머들에게는 배우기 매우 어려웠던 반면, AHK 는 직관적이고 꼭 필요한 기능만 담아 논리적인 센스만 조금 있다면 누구나 쉽게 접근할 수 있다. 물론 그 반대급부로 복잡한 매크로 작업을 작성하기엔 기능이 부족하거나 코드가 복잡하게 되고 가독성도 떨어지게 된다. 물론 이건 프로그래머들의 이야기이고, 간단히 마우스 클릭 반복작업이나 하고자 하는 일반적인 유저라면 비주얼 베이직보다 쉬운 AHK 는 매우 유용한 툴이 된다.

기능상의 제약도 플러그인을 추가해주면 거의 모든 입출력 기기를 통제할 수 있게 된다. 한 때 이걸로 온라인 게임의 오토 프로그램을 만드는 사람도 있었지만 지금은 게임가드 등에 막혀서 작동이 안된다. 물론 게임가드가 없는 외산 프로그램, 예를 들자면 디아블로3 같은 데에선 무기들을 간편하게 교환하는데 매우 애용되고 있다.

AHK 를 EXE 등의 실행파일로 컴파일하는 옵션도 있는데 바이러스로 판정되는 경우가 많다. 다만, 게임에 사용할 경우 ahk파일은 게임가드에서 막지만 exe파일은 막지 않는 경우가 많다. 또, 관리자 권한으로 실행하지 않으면 계정 설정에 따라 작동하지 않는 경우가 있다.

종합하자면, AutoIt 과 비교해 쉽게 매크로를 작성 가능하게 해주지만, 전문 분야로 갈수록 코드가 복잡해지고 관리가 힘들어 높은 숙련도가 필요한 매크로 스크립트 언어다. 웹캠 컨트롤 및 로봇 조종 정도까지 파고들고자 한다면 차라리 비주얼 베이직을 배우는 게 낫다.
  1. 이미지 서치의 예. 전체화면에서 1.png라는 이미지를 찾는다