오토핫키(AutoHotKey) 기초강좌 #1 - 오토핫키(AutoHotKey) 소개




 전체 강좌

 1강 - 오토핫키(AutoHotKey) 소개

 2강 - 프로그래밍의 시작, GUI 만들기

 3강 - 매크로 프로그래밍 1 (Button, Loop, if 사용법)

 4강 - 매크로 프로그래밍 2 (ImageSearch, Send, Sleep)

 5강 - 매크로 프로그래밍 3 (Gui Submit)

 6강 - 매크로 만들기 응용 1 (if 응용, CoordMode)

 7강 - 매크로 만들기 응용 2 (핫키, if 응용)

 8강 - 매크로 만들기 응용 3 (While, GUI와 변수의 활용 1)

 9강 - 매크로 만들기 응용 4 (GUI와 변수의 활용 2)

 10강 - 매크로 만들기 응용 5 (함수1)

 11강 - 매크로 만들기 응용 6 (함수2)

 12강 - 매크로 제작 예제
















안녕하세요~ 킴영감입니다.


오늘부터 제가 가진 프로그래밍관련 지식을 나누어 볼까 합니다.


저도 잘 알지는 못하지만 초보분들이 쉽게 하나의 프로그램을 만들 수 있도록 노력해 보겠습니다.


우선 강좌동안 제작할 프로그램은 요즘 모바일 게임 업계에서 이슈가 되고있는 매크로 입니다.


게임을 할 때 매크로를 쓰는 것이 옳고 그름은 말할 수 없지만 불법적인 기술(해킹, 패킷캡쳐 등)을 사용하지 않는 다면 취미생활을 즐기는 또하나의 방법이 될 수 있다고 생각합니다. 단! 배포를 하지 않는다는 조건 하에서 드리는 말씀입니다.


물론 제작을 해 드리지 않습니다. 제작하기 위해 필요한 지식을 이해하기 쉽게 설명 해 드릴 것입니다.


하루아침에 멀쩡한 프로그램을 손에 넣고 싶으신 분은 제 강좌를 보실 필요가 없음을 알려드리며

천천히 따라하신다면 누구나 자신이 원하는 프로그램을 구현할 수 있을 것이라는 약속을 드립니다.


본 강좌는 매크로 제작 맞춤강좌임을 다시한번 알려드리며 오늘의 주제인 오토핫키 소개를 시작하겠습니다


오토핫키(AutoHotKey)란 운영체제(윈도우)와 대화하기위해 필요한 언어입니다. 이런 표현은 프로그래밍언어를 공부 해 보신 분이라면 한번은 접해 보셨을 겁니다. 프로그래밍 언어를 모르시는 분들을 위해 쉽게 비유하면 오토핫키를 공부하는 것은 영어 사전을 보는 것이랑 같다고 할 수 있습니다. 영어 단어의 뜻과 문법은 정해져 있습니다. 우리는 영어를 어떻게 사용하는지를 공부하고 단어의 뜻을 사전을 찾아보고 알 수 있습니다. 이처럼 오토핫키라는 언어역시 명령어(단어)의 뜻과 사용방법이 정해져 있습니다. 이를 암기하고 익힌다는 생각으로 공부에 임하시면 됩니다. 단, 모두 외워야 하는 것이 아니고 필요한 부분을 사전을 찾아보고 공부한다고 생각하시면 되고 제가 본 강좌를 통해 필요한 부분을 발췌해서 소개와 설명을 해 드릴 것입니다.


이제 어느정도의 오토핫키에 사용되는 명령어와 문법을 숙지했으면 대화를 해야겠죠? 사람은 입으로 대화하지만 오토핫키를 이용해 대화하기위해서는 글로 적어야 합니다. 이렇게 윈도우와 대화하기위해 작성한 글을 스크립트(Script)라고 합니다.

스크립트를 작성한 뒤 실행시키면 작성된 스크립트의 내용에 맞게 동작하게 되는 것입니다.


프로그래밍 언어를 처음 접하시는 분은 위에 글이 "무슨 얘기지?"라고 생각하실 수도 있습니다. 이런 의문이 드시더라도 걱정하지 마시고 앞으로 진행되는 강좌를 꾸준히 보시면 마지막 강좌를 볼 때 쯤에는 어느새 완성되어있는 프로그램을 보실 수 있을 것입니다.




오토핫키를 이용해 프로그램을 만들기 위해서는 2가지 프로그램을 설치하셔야 합니다. 


1. 오토핫키(AutoHotKey) 설치

오토핫키는 설치파일을 다운받으셔서 간단하게 설치하실 수 있습니다.

링크 (https://autohotkey.com/download/ahk-install.exe)를 클릭해 설치파일을 받으시면 됩니다.

링크로 받아지지 않을 경우 구글에서 AutoHotKey를 검색하셔서 아래 그림에 표시된 홈페이지로 들어갑니다.



아래 그림과 같이 오른쪽 상단에 있는 Download를 누르신 뒤 Installer를 클릭하시면 설치파일을 다운로드 할 수 있습니다.




다운로드 받으신 파일을 실행하신 뒤 아래 그림에 표시된 Express Installation을 클릭해 설치한 뒤 Exit를 클릭합니다.




AutoHotKey 설치가 완료되었습니다.



설치가 잘 되었는지 확인하시려면 바탕화면에서 우클릭을 하셨을 때 아래와 같이 새로만들기 항목에 AutoHotKey Script가 있는지 확인하시면 됩니다.



2. 오토핫키 스크립트 편집 프로그램 (AutoHotKey Script Editer)

기본적으로 오토핫키 스크립트의 편집은 매모장에서 이루어 집니다. 하지만 매모장에서 편집하면 불편하기 때문에 편집기를 다운 받아서 사용하도록 하겠습니다. 아래의 파일을 다운로드 받으신 뒤 설치하시면 됩니다.

설치 시 오토핫키 스크립트 편집 기본프로그램으로 설정할지 물어봅니다. 반드시 YES를 누르시기 바랍니다.


SciTE4AHK300601_Install.exe


오토핫키 스크립트 편집기는 여러 종류가 있으며 차후에 본인에게 맞는 편집기를 찾아서 사용하시면 되겠습니다.


압축을 푸신 후 아래의 한글매뉴 속성파일을 "C:\Program Files\AutoHotkey\SciTE\locales\"에 복사한 뒤 


한국어.locale.zip



SciTE.exe 파일을 실행시킵니다.


실행이 되면 Tools --> SciTE4AutoHotkey settings... 를 클릭하신 뒤 



Language한국어로 바꿔주시고 FileKorean Wansung으로 바꿔주신 뒤 Update를 클릭하시면 프로그램을 다시시작하게됩니다.



이렇게 두개의 프로그램을 모두 설치하셨으면 이제 프로그래머가 될 준비를 마치셨습니다.



첫 강좌라 설명을 잘 했는지도 모르겠네요^^

오늘 내용은 조금 지루하셨을 것이라 생각됩니다. 하지만 추상적이지만 개념적으로 이해하는 것이 중요하고, 개발환경을 구축할 수 있는 것 또한 중요하기 때문에 첫 강좌내용을 이렇게 했습니다. 


다음 강좌부터는 실습을 위주로 하는 이론 설명을 시작 할 것이기 때문에 약간의 기대를 가지고 기다려 주셨으면 합니다.


이상으로 킴영감의 AutoHotKey 따라하기 #1 강좌를 마칩니다.


※ 댓글로 질문을 달아주시면 답변 드리겠습니다. (질문의 답이 강좌 내용에 있으면 무시하겠습니다.)



블로그 이미지

킴영감

프로그래밍과 게임공략, 게임과 관련된 프로그램에 대한 내용을 다룹니다.

댓글을 달아 주세요

  • 이전 댓글 더보기
  • 언이 2016.02.19 22:08  댓글주소  수정/삭제  댓글쓰기

    킴영감님 다시 한번 질문드립니다 ~^^

    제가 스크립트 작성을 다 끝내고 매크로 작동시켜봤을때 잘 되던것이
    (예를들면)
    loop,
    {
    전체내용
    }

    다시 처음으로 돌아와서 루프 문 실행시 특정구간에서의 이미지서치가 자꾸 실패라고 나옵니다.
    하지만 오토핫키를 끄고 키고, 매크로가 실행될 창을 다시 껐다가 킬시에 그 구간에서의 이미지서치가 다시 성공합니다.. 무슨 문제일까요?

  • 이리오리오 2016.08.09 03:00  댓글주소  수정/삭제  댓글쓰기

    감사합니다 덕분에 다시 시작하는데 많은 도움 되네요 ㅎㅎ

  • 아아앙 2016.08.30 07:25  댓글주소  수정/삭제  댓글쓰기

    저는왜 업데이트 할려는데 사이트가 404 나오는거죠~~~ ㅠ 삭제했다가 다시 깔아도 이럼

  • local..... 2017.01.08 17:18  댓글주소  수정/삭제  댓글쓰기

    SciTE 폴더 안에 locales 폴더가 없으면 어떻게 하죠..?

  • 블로그가 이상해 2017.10.27 22:59  댓글주소  수정/삭제  댓글쓰기

    글자가 7초마다 간격이 움찔거리는디 글을 못 읽겠네요

  • 안녕하세요 2018.01.23 17:51  댓글주소  수정/삭제  댓글쓰기

    우연찮게 오토핫키를 검색해서 강좌를 잘보고있습니다. 다름이 아니라 오토핫키로 api를 이용할수있다는데 아무리 찾아봐도 관련가강좌가 찾기 힘들더군요... 시간되시면 교육방송 가능할까요? ㅠ_ㅠ

    • 킴영감 2018.01.23 19:26 신고  댓글주소  수정/삭제

      api를 쓰시려고 한다면 프로그래밍을 하시는분이신가보네요^^ 확실하진 않지만 dll형태로 불러오는 방법만 있는걸로 알고있습니다. 사용하시려는 api가 동적 라이브러리를 제공한다면 간단하게 사용할 수 있어요^^ 함수는 dllcall이고 찾아보시면 자료는 많이 나올겁니다~^^ 강의는 따로 준비해보도록 할게요~

  • 안녕하세요 2018.02.11 23:27  댓글주소  수정/삭제  댓글쓰기

    윈도7 64비트 사용자입니다.

    AHK를 설치하려고 하는데, 설치가 안되네요..

    오토핫키 설치파일 실행 시키려니까

    지정한 장치, 경로 또는 파일을 액세스 할 수 없습니다. 이 항목을 액세스 하는데 필요한 권한을 가지고 있지 않습니다.

    라고 뜨면서 실행이 안 됩니다.

    어떻게 하면 해결 될까요?

  • 완전초짜입니당 2018.04.02 20:46  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 이런쪽으로 관심이생겨 우연찮게 찾아보다가 설명이 너무 잘되있어서 처음 강의부터 보고있습니다.
    2강쪽에서

    Gui, Add, Text, x30 y5 w110 h20, 매크로 프로그램 ; 프로그램 제목 표시
    Gui, Add, Text, x60 y25 w50 h20 vA 준비!!! ; 현재 상태를 표시할 텍스트
    Gui, Add, Text, x60 y50 h20 w50 vB, 0 회 ; 던전 클리어 횟수를 표시할 텍스트
    Gui, Add, Button, x20 y80 w110 h20, 시작 ; 시작 버튼
    Gui, Add, Button, x20 y110 w110 h20, 종료 ; 종료 버튼
    Gui, Show

    똑같이 따라해도 작동이 안되는데 도저히 이유를 알 수가 없어서 댓글로 여쭤봅니다!

  • 키망 2018.05.08 18:15  댓글주소  수정/삭제  댓글쓰기

    감사합니다!! :)

  • 정유선 2018.08.29 05:39  댓글주소  수정/삭제  댓글쓰기

    제가 여기서 보여주신 대로 오토핫키를 다운로드하다가 한글파일(?)을 다운로드하는 과정에서 지금 바탕화면을 봤는데... 제 컴퓨터에 있는 파일은 하나도 없고 newuser, downloads 같은 파일들만 보여요... 어떻게 해야 하나요?

    • 킴영감 2018.08.29 05:42 신고  댓글주소  수정/삭제

      그게 무슨말인지... 다운로드한 파일을 못찾겠다는건가요?

    • 정유선 2018.08.29 12:58  댓글주소  수정/삭제

      재가 한글메뉴 속성파일을 다운받고 나서 바탕화면을 확인하니까 제 원래 파일들은 다 사라지고 이상한 파일들만 잔뜩 있어요ㅠㅠ

    • 정유선 2018.08.29 13:03  댓글주소  수정/삭제

      아;; 제가 지금 다시 해보니까 컴파일러 다운로드 위치를 바탕화면으로 했을 때 바탕화면에 있는 게 전부 지워져요. 원래 있던 파일 복원할 수 있는 방법 없나요...

    • 킴영감 2018.08.29 20:35 신고  댓글주소  수정/삭제

      음...이상하네요...그냥 파일을 다운 받았는데 그런 현상이 발생했다구요?
      컴파일러가 어떤파일을 말씀하시는건가요?ㅠ
      컴퓨터가 이상하거나 바이러스를 의심해볼수가 있을 것 같은 상황인 것 같은데...제가 아는 상식으로는 이해가 안되는 현상이네요...ㅠㅠ

  • 뽀삐 2018.10.05 17:54  댓글주소  수정/삭제  댓글쓰기

    한국어 프로퍼티 파일이 실행이 안되는데 어떻게 해야할까요? 처음에 저장이 안돼서 이것저것 눌러보다가 지금은 윈도우미디어센터로 열립니다ㅡㅡ 킴영감님 동영상보고 공부하고있는데 동영상처럼 똑같은 파일모양이 아니에요 도와주세요ㅠ

    • 킴영감 2018.10.05 21:24 신고  댓글주소  수정/삭제

      그 파일은 실행하는게 아닌데요??ㅠ
      그냥 복사해서 편집기(SciTE4)가 설치된 폴더로 옮기시고 편집기에서 설정하는겁니다.
      동영상에 나오는 그대로 따라만 하시면 되요^^

  • 2018.10.19 18:54  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 킴영감 2018.10.21 22:14 신고  댓글주소  수정/삭제

      스크립트는 잘 작성하신 것 같습니다.
      적용하시려는 프로그램이 비활성 입력이 막혀있는 경우가 있습니다.
      유튜브 가셔서 EKMLib 3강을 보시고 확인하는게 우선이구요
      해당 강의로 해결이 안된다면
      A to Z 강의 9강에서 알려드리는 비활성입력을 하는 다른 방법들로 시도해보시면 될 것 같습니다.
      모든 방법이 다 안될 경우에는 해당 프로그램에 비활성 입력이 막혀있을 가능성이 큽니다.ㅠ
      그럴 경우에는 해결 방법이 없습니다.ㅠ

  • 2018.10.22 00:07  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 킴영감 2018.10.22 19:07 신고  댓글주소  수정/삭제

      SetTimer는 루프 안에서 사용하는 요소가 아닙니다.^^
      20초에 한번이라는 조건을 직접 구현하셔야 되며 유튜브의 A to Z 강의 8강을 보시면 시간을 체크하고 특정동작을 하는 것에대한 내용이 있으니 참고하시면 될 것 같습니다.^^

  • 2018.11.21 09:29  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  • andora 2018.12.20 03:03  댓글주소  수정/삭제  댓글쓰기

    AutoScriptWriter.exe 가 아무리 찾아봐도 안보이네요.
    윈 10 64비트인데....
    설치가 제대로 된 건가요?
    아무리 찾아봐도 없어요.

  • 슈나이덜랭 2018.12.21 09:58  댓글주소  수정/삭제  댓글쓰기

    도움이 많이 될것 같습니다.
    언어기반은 c? C#? 인가요? 만약에 if문이나 for, while문을 사용하면 난이도는 프로그램 난이도마다 다르겠죠?

    • 킴영감 2018.12.21 16:57 신고  댓글주소  수정/삭제

      기반은 C++ 인데 웹쪽에 가깝게 구현되어 있습니다.
      당연히 난이도는 구현하려는 프로그램마다 다르겠죠?^^
      그리고 블로그보다 유튜브가 더 도움되실겁니다^^

  • 슬픈휘파람 2019.02.07 09:52  댓글주소  수정/삭제  댓글쓰기

    강좌 보면서 하나씩 따라하고 있는 입문자 입니다.
    다름이 아니라 강좌보면서 궁금한게 몇가지 있어서 여쭤봅니다.
    1. 일반적으로 게임 매크로를 사용하는 이유가 특정 클라이언트(대부분은 앱플레이어를 이용한) 내부에서의 게임 매크로를 만들기 위해서 일텐데 그 coormode 지정하는 부분에서 client 로 설정하고 해당 클라이언트의 이름을 지정해주면 그 안에서만 동작이 가능해지는거 아닌가요? 만약 맞다면 이름 지정해주는 방법이 궁금합니다.
    2. 모모플레이어로 리니지m 이라는 게임에 적용해 봤는데 coormode 를 윈도우나 스크린으로 지정해서 좌표 따고 클릭하도록 했는데 해당 위치로 마우스 이동은 잘 되는데 실제로 게임 내에서의 버튼 클릭이 되지를 않습니다. 이 문제는 어떻게 해결 해야 할까요?

    바쁘신데 귀찮게 해드려서 죄송합니다.
    늦었지만 새해 복 많이 받으세요.

    • 킴영감 2019.02.07 12:47 신고  댓글주소  수정/삭제

      첫번째 질문은 말씀하신대로 하셔도 됩니다. 따로 이름을 정해주는건 없고 현재 활성화된 화면을 기준으로 합니다.
      두번째 질문은 관리자 권한으로 실행해보시면 해결될 것 같습니다.^^
      새해 복 많이 받으세요~

    • 슬픈휘파람 2019.02.07 15:07  댓글주소  수정/삭제

      감사합니다. 일부 매크로 프로그램에서 나오는 특정 창 지정같은건 다른 유틸로 제작되는건가보군요....
      편안한 오후시간 되십시요.

  • 케빈 2019.07.26 09:19  댓글주소  수정/삭제  댓글쓰기

    오늘부터 정주행갑니다 잘 부탁드립니다

  • magiceyes 2019.08.14 15:31  댓글주소  수정/삭제  댓글쓰기

    다중모니터(3개)를 사용하고 있는데요
    혹시 이 환경에서도 매크로 작성 및 구동이 되는건가요?

  • soup 2019.10.12 19:54  댓글주소  수정/삭제  댓글쓰기

    한글 적용 파일을 넣었지만 setting 에 Language부분에 한국어가 나오지 않는데 혹시 이유를 알 수 있을까요?
    한글 파일을 위에 있는데로 넣었지만 나오질 않네요