맨위로가기

오토핫키

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

오토핫키는 키보드와 마우스 입력을 제어하여 컴퓨터 작업을 자동화하는 데 사용되는 무료 오픈 소스 스크립트 언어이다. 핫키와 핫스트링을 통해 특정 동작을 실행하거나 문자열을 자동 치환할 수 있으며, 프로그램 실행, 문서 열기, 키보드 재할당, 마우스 제어, GUI 제작 등 다양한 기능을 제공한다. 오토핫키 스크립트는 실행 파일로 컴파일하여 오토핫키가 설치되지 않은 환경에서도 실행할 수 있다. 2003년 11월에 첫 베타 버전이 출시되었으며, 현재는 v2 버전이 공식적으로 사용되고 있다. 오토핫키는 활발한 커뮤니티를 가지고 있지만, 악성코드에 악용될 수 있으며, 온라인 게임에서 사용 시 이용 약관에 위배될 수 있다는 점에 유의해야 한다.

더 읽어볼만한 페이지

  • 자동화 소프트웨어 - 매크로 바이러스
    매크로 바이러스는 응용 프로그램의 매크로 기능을 악용하여 자동 실행 및 복제를 통해 시스템을 감염시키는 악성 코드로, 출처 불분명한 파일에 대한 주의 및 백신 소프트웨어 활용을 통해 예방이 필요하며, 최신 Microsoft Office에서는 관련 보호 기능을 제공한다.
  • 자동화 소프트웨어 - Expect
    Expect는 텔넷, FTP, SSH와 같은 대화형 응용 프로그램 제어 자동화 도구로, 의사 터미널이나 콘솔 에뮬레이션을 통해 대상 프로그램을 제어하며 autoexpect 도구로 스크립트 작성을 자동화할 수 있고, 비밀번호 처리 시 보안에 유의해야 한다.
  • 자유 시스템 소프트웨어 - 리눅스 커널
    리눅스 커널은 1991년 리누스 토르발스가 개발을 시작한 UNIX에서 영감을 받은 운영 체제 커널로, GPLv2 라이선스를 채택하여 자유로운 사용과 배포를 허용하며 다양한 하드웨어 아키텍처를 지원하고 모듈형 구조를 통해 장치 드라이버 추가가 가능하다.
  • 자유 시스템 소프트웨어 - ZeroMQ
    ZeroMQ는 다양한 메시징 패턴을 지원하고 높은 성능을 제공하는 메시지 라이브러리이다.
  • 스크립트 언어 - Tcl
    Tcl은 존 오스터하우트가 개발한 명령어 기반의 프로그래밍 언어로, Tk 툴킷과 결합하여 GUI 스크립팅 환경으로 발전했으며, 다양한 운영체제에서 사용 가능하고 C, C++, Java 등 다른 언어와의 인터페이스를 지원한다.
  • 스크립트 언어 - PHP
    PHP는 라스무스 러도프가 개발한 범용 스크립팅 언어로, 웹 개발에 널리 사용되며 LAMP 아키텍처의 핵심 요소이다.
오토핫키 - [IT 관련 정보]에 관한 문서
기본 정보
개발자크리스 말렛, 스티브 그레이
최초 릴리스2003년 11월 10일 (크리스 말렛)
최신 릴리스 버전2.0.4
최신 릴리스 날짜2024년 1월 19일
운영 체제마이크로소프트 윈도우
장르스크립트 언어
자동화
GUI
유틸리티
라이선스GPLv2
웹사이트AutoHotkey 공식 웹사이트
일반 정보
종류스크립트 언어
자동화
GUI
유틸리티 소프트웨어

2. 특징 및 기능

오토핫키는 스크립트를 통해 다양한 작업을 자동화할 수 있는 도구이다. 프로그램 실행, 문서 열기, 키보드 및 마우스 입력 제어, 변수 조작, 반복문 실행, 창, 파일 및 디렉터리 조작 등이 가능하다.[61] 이러한 기능들은 단축키(핫키)로 실행할 수 있으며, 특정 키를 활성화하거나 비활성화하고 재할당할 수도 있다. 또한, '핫스트링' 기능을 통해 축약어를 풀어쓰는 것도 가능하다.[62]

오토핫키 스크립트는 오토핫키가 없는 컴퓨터에서도 실행 가능한 파일로 컴파일할 수 있다. 소스 코드는 C++로 작성되었으며 비주얼 스튜디오로 컴파일할 수 있고, C와 같이 포인터를 통한 메모리 접근도 가능하다.[64]

기본적인 제어 기능은 다음과 같다:


  • 프로그램 시작 및 종료
  • 윈도우 표시 제어
  • 파일 열기 및 닫기
  • 키보드 입력 전송
  • 마우스 클릭, 마우스 커서 이동
  • 타이머를 이용한 일정 간격 처리


이러한 기능들을 조합하여 다음과 같은 작업들을 수행할 수 있다.

  • 자주 사용하는 파일 이름 등의 문자열을 단축키로 입력
  • 각종 신청 양식에 이름이나 주소 등을 자동으로 기입
  • 키보드나 조이스틱으로 마우스 커서 조작
  • 간단한 키 입력으로 프로그램, 문서, 웹사이트 열기
  • 전자 메일 본문이나 인터넷 커뮤니티 게시물에 서명 삽입
  • GUI를 직접 제작하여 오리지널 윈도우 만들기


오토핫키는 GPL 라이선스로 배포되는 오픈 소스 프리웨어이다.

2. 1. 핵심 기능

오토핫키의 핵심 기능은 다음과 같다:

  • 핫키(단축키): 사용자가 지정한 키 조합(예: Ctrl+Alt+I를 누르면 인터넷 브라우저 열기)을 누르면 특정 동작을 실행하도록 설정할 수 있다.[6]
  • 핫스트링(자동 치환): 특정 문자열을 입력하면 자동으로 다른 문자열로 바꿔준다. (예: "btw"를 입력하면 "by the way"로 자동 변환)[8]
  • 키보드/마우스 제어: 키보드 키를 재할당하거나 비활성화하고(예: Ctrl+M을 누르면 엠 대시 생성[7]), 조이스틱 등으로 마우스 커서 움직임을 제어할 수 있다.
  • 자동 실행: 컴퓨터 시작 시 스크립트를 자동 실행하여 파일 관리 등 반복적인 작업을 자동화할 수 있다.[9]
  • GUI 프로그래밍: 사용자 지정 데이터 입력 양식(GUI 창)을 만들거나, 윈도우 API를 사용하여 더 복잡한 작업(예: 시스템 레지스트리 사용, DLL 함수 호출)을 수행할 수 있다.


이 외에도 오토핫키는 다음과 같은 기능을 제공한다.

  • 변수 할당, 검색 및 조작, 루프 실행, 창, 파일, 폴더 조작[6]
  • 프로그램 실행, 문서 열기, 키 입력, 마우스 클릭 및 움직임 에뮬레이션[6]
  • C와 같이 포인터를 통한 메모리 접근[10]
  • 온라인 게임에서 반복적인 조작 자동화 (주의: 온라인 게임 이용 약관 위반 가능성 있음)


오토핫키 스크립트는 오토핫키가 없는 컴퓨터에서도 실행할 수 있는 실행 파일컴파일할 수 있으며, C++ 소스 코드는 Visual Studio Express로 컴파일할 수 있다.

2. 2. 활용 사례


  • 키보드 레이아웃 변경: 쿼티에서 드보락 등 다른 자판으로 키 배열을 다시 할당할 수 있다.[43]
  • 단축키 활용: 자주 사용하는 파일 이름, 문구, 이메일 서명 등을 단축키로 입력할 수 있다.[8]
  • 온라인 게임 자동화: 온라인 게임에서 반복적인 조작을 자동화할 수 있다. (단, 이용 약관 위반 여부는 확인해야 한다.)
  • 윈도우 컨트롤 키 활용: Windows 컨트롤 키를 사용한 기본 명령을 Emacs 방식으로 덮어쓸 수 있다.[43]
  • 비활성 윈도우 조작: 비활성 윈도우를 단축키로 조작할 수 있다.
  • 시스템 관리 자동화: 시스템을 감시하고 불필요한 프로그램을 자동으로 종료하거나, 알림, 시스템 검사, 백업 자동 실행을 예약할 수 있다.[9]
  • 폼 자동 작성: 폼 자동 작성을 할 수 있다.

2. 3. 추가 기능 (사용자 제공)

플러그인 종류설명
관점 지향 프로그래밍함수 훅[33]
COM 래퍼[34]콘솔 상호 작용[35]
동적 코드 생성[36]
HID인터넷 익스플로러 자동화[38]
GUI 생성[39]
합성 프로그래밍웹 서비스[40]
윈도우 이벤트 훅[41]


3. 스크립트 예제

autohotkey

#g::Run "https://www.google.com/search?q=" . A_Clipboard

```

Win+g영어를 누르면 클립보드의 텍스트를 구글에서 검색한다.

```autohotkey

::afaik::as far as I know

```

''afaik''를 입력하면 "as far as I know"로 자동 변환한다.

'''v2'''

```autohotkey

LCtrl::Alt

LAlt::Ctrl

```

키보드의 Alt영어 키와 Ctrl영어 키의 기능을 서로 바꾼다.

```autohotkey

!x:: { ; Alt+x

URLReplace()

Send "^v" ; Ctrl+v

}

URLReplace() {

A_Clipboard := StrReplace(A_Clipboard, "(", "%28")

A_Clipboard := StrReplace(A_Clipboard, ")", "%29")

}

```

Alt+x영어를 누르면 클립보드에 복사된 URL에 괄호가 있을 경우 대체 문자로 바꾼 후 붙여넣는다.

4. 역사

오토핫키는 2003년 11월 10일 크리스 말렛(Chris Mallett)에 의해 처음 개발되었다.[1] 그는 핫키 지원을 AutoIt v2에 통합하려 했으나 AutoIt 커뮤니티의 반응을 얻지 못하자,[11][12] AutoIt v2를 기반으로 새로운 프로그램을 만들었다.[13] 이후 AutoIt v3는 GPL에서 폐쇄형 소스로 전환되었다.[14]

오토핫키는 고유의 프로그래밍 언어(매크로 언어)를 사용하여 컴퓨터를 제어할 수 있다. "오토핫키"라는 이름에서 알 수 있듯이, 처음에는 키보드의 핫키(단축키)를 사용자 정의하는 것을 목적으로 개발되었지만, 사용자의 요구를 수용하는 형태로 개발이 진행되면서 스크립트 언어로 분류될 정도로 방대한 기능이 구현되었고, 커뮤니티도 커졌다.

GPL로 라이선스된 오픈 소스 프리웨어이다. 오토핫키 자체의 소스 코드는 C++로 작성되었으며, Microsoft Visual Studio Express로 컴파일할 수 있다.

4. 1. 버전 역사

오토핫키는 2003년 11월 10일에 처음 개발되기 시작했다.[65]

날짜버전내용
2009년 9월 25일1.0.48.05기존 개발자 Chris Mallett의 개발 중단 (AutoHotkey_B)
2010년 11월 27일1.0.90.00Lexikos 주도의 AutoHotkey_L 최초 공식 버전
2012년 11월 7일1.1.09.00AutoHotkey_L 명칭을 AutoHotkey로 변경
2021년 7월v2 베타AutoHotkey v2 베타 버전 출시[21][22][53]
2022년 12월 20일v2.0.0AutoHotkey v2.0.0 정식 출시[24][55]
2023년 1월 22일AutoHotkey v2가 공식 주 버전이 되고, v1.1은 레거시 버전으로 전환[25][56]
2024년 3월 16일오토핫키 v1.1의 마지막 업데이트. v1.1은 이제 수명이 다함.[26]



2010년에는 AutoHotkey v1.1 (원래 AutoHotkey_L이라고 불림)이 AutoHotkey의 지속적인 개발 플랫폼이 되었으며,[15] 2012년 말에는 공식 브랜치가 되었다.[16]

4. 2. 기타 사건

2019년 4월경, 오토핫키를 포함한 멀웨어가 발견되었다.[57] 이 바이러스는 정품 오토핫키 스크립트 엔진을 포함하고 있어, 감염되면 공격자가 작성한 오토핫키 스크립트를 다운로드하고 실행하여 원격 조작될 수 있다.

5. 컴파일

오토핫키 스크립트는 C++ 소스 코드로 구성되어 있으며, 비주얼 스튜디오로 컴파일할 수 있다.[10] 스크립트를 실행 파일(.exe)로 컴파일하면 오토핫키가 설치되지 않은 컴퓨터에서도 실행할 수 있다.[10]

6. 커뮤니티

오토핫키는 활발한 사용자 커뮤니티를 가지고 있으며, 온라인 포럼, IRC 채널 등을 통해 정보를 공유하고 지원을 받을 수 있다.

2012년 1월 현재, 오토핫키 온라인 커뮤니티에는 약 27,300명의 사용자가 등록되어 있으며, 약 482,000건의 게시글이 게시되어 있다.[44] 프리노드 IRC에 설치된 오토핫키용 온라인 채팅방에는 2009년 11월 현재 평균 40명의 사용자가 접속하고 있다.[45]

7. 한계 및 주의사항

오토핫키는 인터프리터 언어이기 때문에 배포용 독립 실행형 소프트웨어를 만들 때 오토핫키 스크립트를 이해하고 실행하는 오토핫키 자체의 부분을 포함해야 한다. 이 때문에 일부 악성코드가 오토핫키를 사용하여 작성되기도 한다.[42] 안티바이러스 소프트웨어는 오토핫키로 프로그래밍된 악성코드를 식별할 때, 실제 악성코드 대신 오토핫키를 잘못된 원인으로 식별하기도 한다.

2019년 4월경에는 오토핫키를 포함한 멀웨어가 발견되었다.[57] 이 바이러스는 정품 오토핫키 스크립트 엔진을 포함하고 있어, 감염되면 공격자가 작성한 오토핫키 스크립트를 다운로드하고 실행하여 원격 조작될 수 있다.

참조

[1] 웹사이트 AutoHotkey Changelog for Years 2003-2004 http://www.autohotke[...] Autohotkey.com 2011-12-02
[2] 웹사이트 Changes & New Features | AutoHotkey https://www.autohotk[...]
[3] 웹사이트 Lexikos/AutoHotkey_L https://github.com/L[...]
[4] 웹사이트 Ericasadun 2005 Life Hacker http://lifehacker.co[...] Lifehacker.com 2011-12-02
[5] 웹사이트 Quick Reference | AutoHotkey https://www.autohotk[...]
[6] 웹사이트 AutoHotkey Tutorial: Macro and Hotkey Creation http://www.autohotke[...] Autohotkey.com 2011-12-02
[7] 웹사이트 Remapping Keys and Buttons http://www.autohotke[...] Autohotkey.com 2011-12-02
[8] 웹사이트 Hotstrings and Auto-replace (similar to AutoText and AutoCorrect) http://www.autohotke[...] Autohotkey.com 2011-12-02
[9] 웹사이트 Hotkeys, Hotstrings, and Remapping https://autohotkey.c[...] Autohotkey.com 2018-05-23
[10] 웹사이트 AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007 http://www.autohotke[...] Autohotkey.com 2011-12-02
[11] 웹사이트 Author Chris Mallett's post on the AutoHotkey Forums http://www.autohotke[...] Autohotkey.com 2011-12-02
[12] 웹사이트 An AutoIt / AutoHotkey nonfunctional comparison http://paperlined.or[...] Paperlined.org 2011-12-02
[13] 웹사이트 Author Chris Mallett's post on the AutoHotkey Forums http://www.autohotke[...] Autohotkey.com 2011-12-02
[14] 웹사이트 Licensing Opinions - AutoIt Forums http://www.autoitscr[...] Autoitscript.com 2011-12-02
[15] 웹사이트 Forum post by Chris, announcing AutoHotkey_L now main platform http://www.autohotke[...] Autohotkey.com 2011-12-02
[16] 웹사이트 Our History http://autohotkey.co[...] The AutoHotkey Foundation 2016-07-23
[17] 웹사이트 AutoHotekey.dll Module https://hotkeyit.git[...] 2017-05-13
[18] 웹사이트 Hotkeyit's AutoHotkey_H fork https://github.com/H[...]
[19] 웹사이트 Thqby's AutoHotkey_H fork https://github.com/t[...]
[20] 웹사이트 AutoHotkey_H subforum https://www.autohotk[...]
[21] 웹사이트 AutoHotkey v2 https://www.autohotk[...] AutoHotkey.com 2021-07-28
[22] 웹사이트 AutoHotkey v2.0-beta.1 - AutoHotkey Community https://www.autohotk[...] 2022-01-11
[23] 웹사이트 AutoHotkey v2.0-rc.1 https://www.autohotk[...] AutoHotkey.com 2022-11-20
[24] 웹사이트 AutoHotkey v2.0.0 https://www.autohotk[...] AutoHotkey.com 2022-12-20
[25] 웹사이트 AutoHotkey v2 Official Release Announcement https://www.autohotk[...]
[26] 웹사이트 End of Life: v1.1 https://www.autohotk[...]
[27] 웹사이트 ".NET Framework Interop - Scripts and Functions" http://autohotkey.co[...]
[28] 웹사이트 AHK + LUA Interop (stdlib), proof of concept - Scripts and Functions http://autohotkey.co[...]
[29] 웹사이트 ahklisp: lisp on win32 with cffi, sbcl, and autohotkey - Scripts and Functions http://autohotkey.co[...]
[30] 웹사이트 ahkecl : Embedded common lisp in ahk - Scripts and Functions http://autohotkey.co[...]
[31] 웹사이트 Machine code functions: Bit Wizardry - Scripts and Functions http://autohotkey.co[...]
[32] 웹사이트 Embedded Windows Scripting (VBScript & JScript) and COM - Scripts and Functions http://autohotkey.co[...]
[33] 웹사이트 function hooks - Suggestions http://autohotkey.co[...]
[34] 웹사이트 COM Standard Library - Scripts and Functions http://autohotkey.co[...]
[35] 웹사이트 LibCon - AutoHotkey Library For Console Support - Scripts and Functions http://autohotkey.co[...]
[36] 웹사이트 LowLevel & dynamic code - Scripts and Functions http://autohotkey.co[...]
[37] 웹사이트 Human Interface Device(HID) Support http://www.autohotke[...]
[38] 웹사이트 Automation IE7 Navigation and Scripting with Tabs - Scripts and Functions http://autohotkey.co[...]
[39] 웹사이트 ":: SmartGUI Creator :: - Scripts and Functions" http://autohotkey.co[...]
[40] 웹사이트 Sparrow: AHK WebServer w/ AHK in HTML support (sources incl) - Scripts and Functions http://autohotkey.co[...]
[41] 웹사이트 "[tool] WinEventHook Messages - Scripts and Functions" http://autohotkey.co[...]
[42] 뉴스 Fauxpersky: CredStealer malware written in AutoHotKey masquerades as Kaspersky Antivirus, spreading through infecting USB drives https://www.cybereas[...] Cybereason Nocturnus 2018-03-29
[43] 웹사이트 Ericasadun 2005 Life Hacker http://lifehacker.co[...] Lifehacker.com 2005-08-19
[44] 웹사이트 AutoHotkey Community Forum Page http://www.autohotke[...] Autohotkey.com
[45] 웹사이트 Getting connected to AutoHotkey's IRC Chat http://www.autohotke[...] Autohotkey.com
[46] 웹사이트 AutoHotkey Changelog for Years 2003-2004 http://www.autohotke[...] Autohotkey.com 2011-12-02
[47] 웹사이트 Author Chris Mallett's post on the AutoHotkey Forums http://www.autohotke[...] Autohotkey.com 2011-12-02
[48] 웹사이트 An AutoIt / AutoHotkey nonfunctional comparison http://paperlined.or[...] Paperlined.org 2011-12-02
[49] 웹사이트 Author Chris Mallett's post on the AutoHotkey Forums http://www.autohotke[...] Autohotkey.com 2011-12-02
[50] 웹사이트 Licensing Opinions - AutoIt Forums http://www.autoitscr[...] Autoitscript.com 2011-12-02
[51] 웹사이트 Forum post by Chris, announcing AutoHotkey_L now main platform http://www.autohotke[...] Autohotkey.com 2011-12-02
[52] 웹사이트 Download page showing AutoHotkey_L as ongoing platform http://www.autohotke[...] Autohotkey.com 2011-12-02
[53] 웹사이트 AutoHotkey v2.0-beta.1 - AutoHotkey Community https://www.autohotk[...] Autohotkey.com 2022-04-21
[54] 웹사이트 v2.0-rc.1 - AutoHotkey Community https://www.autohotk[...] Autohotkey.com 2022-11-29
[55] 웹사이트 v2.0.0 - AutoHotkey Community https://www.autohotk[...] Autohotkey.com 2022-12-22
[56] 웹사이트 AutoHotkey v2 Official Release Announcement - AutoHotkey Community https://www.autohotk[...] 2024-01-28
[57] 웹사이트 正規ソフト「AutoHotkey」を悪用した攻撃を確認 {{!}} トレンドマイクロ セキュリティブログ https://blog.trendmi[...] 2019-06-05
[58] 웹인용 AutoHotkey Downloads http://ahkscript.org[...] 2018-01-31
[59] 웹인용 AutoHotkey v2 Downloads (sorted by date) https://autohotkey.c[...]
[60] 문서 이맥스 형식으로 고치기: {{언어링크|en}} Ericasadun 2005 Life Hacker http://lifehacker.co[...]
[61] 문서 "{{언어링크|en}} AutoHotkey Tutorial: Macro and Hotkey Creation" http://www.autohotke[...]
[62] 문서 "{{언어링크|en}} Hotstrings and Auto-replace (similar to AutoText and AutoCorrect)" http://www.autohotke[...]
[63] 문서 "{{언어링크|en}} Alkasab 2008 SIIM" http://www.scarnet.o[...]
[64] 문서 "{{언어링크|en}} AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007" http://www.autohotke[...]
[65] 문서 "{{언어링크|en}} AutoHotkey Changelog for Years 2003-2004" http://www.autohotke[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com