[오토핫키] 단축키를 눌렀을 때 클릭반복 시키는 매크로

Posted by Readiz
2014.02.13 15:05 연재/오토핫키


오토핫키 다운로드 및 설치 후

단축키를 눌렀을 때 클릭반복 시키는 매크로 만들기


  오토핫키는 준 프로그래밍 스트립트 언어입니다. 언제나 통용되는 말이지만, 쉽게 매크로를 만들려고 하면 절대 복잡한 매크로를 만들 수 없습니다. 좀 어렵더라도 오토핫키 하나만 제대로 익히시면 앞으로 있어서 매크로를 만드는 데 부족함을 느끼실 리는 절대 없다고 장담합니다.

  오토핫키 매크로에 관련된 글을 벌써 3개나 올렸었는데요,



  의외로 간단한 내용에서 질문을 하시는 분들이 계셔서, 클릭반복 매크로를 예로 들어서 가장 단순한 클릭매크로를 어떤 식으로 짤 수 있는지에 대해서 좀 더 깊게 다뤄보겠습니다.




1. 오토핫키 다운로드 및 설치



http://www.autohotkey.com/ 에서 Download를 눌러줍니다.



속편하게 Installer로 까시는게 제일 편합니다.




여기서 Yes를 눌러서 바로 작성해보도록 합시다.



  G매크로나 매크로 익스프레스 같은 다른 매크로들을 다운로드 받아 쓰셨었다면 이런 스크립트 형식의 매크로가 익숙하지 않으실텐데요, 전혀 어렵지 않습니다. 오히려 자유도가 보장된다는 크나큰 장점이 있죠. 메모장으로 작성하고 실행을 시키는 방법은.. 오른쪽 하단부 시스템 트레이에 보시면 H라고 써져있는 것이 보이실 겁니다.




  여기 나오는 것들은 다 중요합니다. 메모장이 꺼졌을 때는 Edit This Script를 누르면 다시 띄울 수 있구요, 메모장으로 편집하고나서 적용할 때에는 Reload This Script를 누르면 됩니다. 매크로를 중단시킬 때는 Pause Script를 누르시면 되구요.


  클릭 매크로를 만드려면 도대체 어딜 클릭해야 할지 알아야겠죠? 이를 하기 위해서 필요한 것이 Window Spy입니다. 위 메뉴에서 Window Spy를 눌러봅시다.



  그리고 마우스를 이리저리 움직이면 빨간색 테두리가 된 좌표가 옮겨지는 것을 볼 수 있습니다. 이 좌표가 바로 필요한 정보가 되는 것이죠. 한번 다음과 같은 메뉴를 클릭하는 매크로를 만들어봅시다.



  F5키를 눌러지게 해도 되지만, 실습을 위해 메모장의 시간/날짜 메뉴를 눌러서 시간/날짜를 출력하게 만드는 매크로를 만들어봅시다. 우선 좌표를 Window Spy를 통해 구하면 (오토핫키 메뉴에서 Window Spy를 눌러 실행시킨 후 마우스를 움직여 좌표를 구합니다)


1) 편집(E) 좌표 : 87, 37

2) 시간/날짜(D) 좌표 : 146, 302


라고 구해집니다. 그러면 1)번 좌표를 누르도록 한 뒤, 2)번 좌표를 눌러지게 하면 실행이 될 것입니다. 한번 코드로 나타내볼까요?


	
MouseClick, left, 87, 37
sleep, 100
MouseClick, left, 146, 302
sleep, 100 
	



  위와 같이 쓰일 것입니다. Sleep는 뒤에 나오는 숫자의 해당 밀리초 만큼 쉬는 겁니다. 1초동안 쉬게 하고 싶으면 1000이 됩니다.

  다만 이렇게만 쓰면 매크로를 실행하자마자 작동돼 버립니다. 이를 방지하기 위해 특정 단축키를 눌렀을 때 실행되게 해야 할 필요가 있는거죠. 단축키를 연동하기 위해서는 단축키 뒤에 ::를 붙이면 됩니다. Ctrl을 연동되게 하려면 ^, Alt는 !, Shift는 +가 됩니다. 한번 위에 작성한 스크립트에 Ctrl+Alt+Shift+T의 단축키를 적용하려면 아래와 같이 됩니다.


	
^!+t::
MouseClick, left, 87, 37
sleep, 100
MouseClick, left, 146, 302
sleep, 100 
	




  이제 다 끝났습니다. 스크립트 언어이니 작성한 뒤에 저장해야된다는 것 잊지 마세요. 저장한 뒤에, 


 Reload This Script를 다시 눌러줘야 합니다. 스크립트가 수정됐으면 다시 열어줘야 하겠죠. 이래 놓고 이제 메모장 위에서 Ctrl+Alt+Shift+T를 눌러봅시다. 그러면 빠른속도로 메뉴를 누르는 모습이 보이고 아래처럼 시간이 들어갑니다.




 자 그런데 이정도로는 매크로의 의미가 없죠. 그냥 클릭하는게 나을 정도죠. 한번 그러면 100번 반복하게 해 봅시다. 매크로의 강력함은 반복에서 나오죠. 코드를 별로 수정할 필요도 없이 아래처럼 하면 됩니다.

	
^!+t::
loop, 100{
  MouseClick, left, 87, 37
  sleep, 100
  MouseClick, left, 146, 302
  sleep, 100
} 
	

  저장한 뒤 Reload Script 눌러주는거 까먹지 마시고요, 한번 실행해봅시다.



  실행시키시면 마우스가 정신없이 클릭하는 모습이 보일겁니다. 문제점은 중간에 멈출 마땅한 방도가 없다는 것인데.. 이 점의 해결책에 대해서는 다음 연재 때 알아보도록 하겠습니다. 사실 오늘 배우신 내용에 키보드 단축키를 쓰는 법까지 하면 어느정도는 쓰실 수 있는 것입니다. 따라오시느라 수고하셨습니다. 마지막에 다시 강조말씀 드리지만 오토핫키의 강력함은 배우기 어렵더라도 정교한 매크로의 작성이 가능하다는 겁니다. 배우시면 게임매크로 등지에서도 활용할 수 있으니 절대 후회 안하실 겁니다 ^^; 가령 이미지서치로 아이템을 자동으로 먹게 하기라든가.. 매크로방지 회피 이런 것도 가능하니까요.


저작자 표시 비영리 변경 금지
신고
이 댓글을 비밀 댓글로
    • 나그네
    • 2014.02.24 17:33 신고
    아.. 그렇군요.. 전 소스코드 표현창이 맘에 든다는 얘기였어요... 에디터 색감을 저렇게 쓰면 어떨까 싶어서요... 답변 감사합니다.
    • 나그네
    • 2014.02.24 17:33 신고
    코딩한거 예를 들어주실때 ... 색감이 너무 좋네요... 눈의 피로가 덜하겠어요... 혹시 어떤 에디터사용하시는지 여쭤봐도 되련지... 가능하다면.. 환경설정 화일이나... 뭐.. 이런것좀 얻어가도 될지...

    저는 acroedit 사용하는데.. 배경화면과 글자색등 설정이 자유스럽지 않아서....
    • 에디터는.. SublimeText2 구요 (http://blog.readiz.com/46)
      티스토리에 저렇게 넣는걸 물어보시는 거라면.. 저는 제가 원격으로 사용할 수 있게 만들어놨거든요. http://util.readiz.com/ 여기 왼쪽 위에다가 코드를 넣으면 저렇게 셋팅돼 나옵니다.
    • 나그네1
    • 2014.04.27 23:28 신고
    윈도우 스파이를 누르면 오토핫키가 저장되어있는 저장경로가 경고창으로 뜨고 윈도우 스파이 팝업창이 뜨지 않네요. 혹시나 저장경로를 특정한 곳으로만 지정을 해야하는건가요?
    • 오토핫키가 제대로 설치되지 않은것 같은데요? 별다른 설정없이 떠야 정상입니다.
  1. readiz님. 궁금한게 있어서 뭐 좀 여쭤봐도되나요.
    오토핫키에서 $~~:: 이게.. 누르는동안... 이걸로 알고있는데 일반 알파벳키는 먹히는데 `(~) 키는 죽어도 안먹히네요.. ` 키를 꼭 쓰고싶은데 방법이 없을까요?
    • 2015.12.14 14:35
    비밀댓글입니다
    • 늅늅
    • 2016.12.10 11:04 신고
    setup중 RunHotkey를 눌럿는데 도움말만 뜨고 다음화면으로 넘어가질 않아요 ..

티스토리 툴바