[오토핫키] 간단한 클릭 반복 매크로

Posted by Readiz
2014.01.30 12:47 연재/오토핫키


오토핫키 간단한 클릭 반복 매크로


  오토핫키 두번째 글입니다. 클릭 반복 매크로 예제를 보여드리기 위해 가져온 매크로는 카카오톡 친구 삭제 매크로인데요, 카카오 게임을 하다보면 게임친구라는 어플을 통해 친구를 등록하시는 분들이 계실텐데, 나중에 처리가 곤란하죠. 탈퇴가 가장 확실한 해답이지만, 멀쩡한 카톡을 탈퇴하긴 좀 그렇죠. 이럴 때 좀 간단하게 친구삭제를 하는 법이 없을까 해서 만들어본 매크로입니다.


  일단 코드 샘플를 먼저 볼게요.


	
F12::
loop, {
  MouseClick, left, 397, 455
  sleep, 400
  MouseClick, left, 155, 122
  sleep, 400
} 
	



F12키를 누르면 동작하도록 설정했는데요, 이것이 첫번째 줄의 의미입니다.

loop, {와 }는 그 사이의 문구들을 반복한다는 의미이구요.

MouseClick는 마우스를 클릭한다는 뜻입니다. left는 왼쪽 버튼을 의미하고, 뒤에 따라오는 숫자는 화면상의 좌표입니다. (활성화된 창의 좌표입니다)


이 좌표를 얻어오는 법은 간단합니다. AutoHotkey를 깔면 따라오는 Window Spy를 사용하면 됩니다. 아래와 같은 화면인데,




위 창처럼 작동을 합니다. 맨 위쪽의 Window Title & Class라는 것은 현재 Active된 창이 어떤 것인지 보여주는 것이고요.

두번째 Mouse Postion이 중요한데, 두 가지의 좌표가 나옵니다. 첫번째는 On Screen, 즉 화면 전체에서의 마우스의 위치이구요. 두번째는 In Active Window라고 활성화된 창의 좌표가 나옵니다. 오토핫키에서 사용하는 좌표는 In Active Window를 참조하시면 됩니다. 그러면 창 위치를 신경 안쓰고도 항상 원하는 결과를 얻을 수 있겠죠? ^^


  결국 맨 처음에 보여드렸던 코드는 카카오톡 화면상의 두 지점을 간단하게 클릭하는 작업을 반복하는 매크로입니다. 아래의 사진과 같이 동작하죠.






  1) 차단해제 버튼을 누르고, 2) 아니오 버튼을 누르는 작업을 반복합니다. 핵심은 이 작업을 끝도없이 반복을 해준다는 점이죠. 참 귀찮기 짝이없는 작업인데, 오토핫키가 이를 해결해줍니다. 카카오톡 측에서 차단친구 한번에 삭제하는 기능을 만들었더라면, 이런 일도 없을 텐데 말이죠. 이 점은 카카오톡에서 개선을 해 주어야 하는 부분입니다. 충분히 있을 법할 기능을 넣지 않아주었으니 말입니다. 다음 강좌에서는 좀 더 고차원적인 '나에게 생명 안 보내주는 사람 삭제하는' 매크로를 가지고 오겠습니다. 이번 강의는 Warming Up으로 생각해주시길.. ^^



저작자 표시 비영리 변경 금지
신고
이 댓글을 비밀 댓글로
    • 접니다ㅋㅋ
    • 2014.03.02 16:15 신고
    sleep, 400
    에서 뒤에 400은 어떤 역할을 하나요?
    • ㅠㅠ
    • 2014.04.08 16:56 신고
    중간에 멈추게는 어떻게해요??
    F12 누르고 실행은되는데 중간에 멈추기가 안돼네여,.
    • 따로 만들어야 하는데 제가 쓰는건 F2:: pause
      F3:: restart로 쓰고 있네요.
    • 강혜성
    • 2014.04.19 18:25 신고
    저 쿠키런 매크로 만드는데
    시작하는건 되는데 중지하는게 안되더라구여 끝날때까지 ㅠ..
    그래서 만들려면
    Alt:: Ctrl:: pause F2:: restart

    loop, {
    mouseclick, left, 966, 636
    sleep, 3000

    mouseclick, left, 896, 585
    sleep, 6000

    mouseclick, left, 1125, 606
    sleep, 200

    mouseclick, left, 1125, 606
    sleep, 200

    mouseclick, left, 1125, 606
    sleep, 200

    mouseclick, left, 1125, 606
    sleep, 200
    }
    가 중간에 멈추게하는게 맞는지좀 가르쳐주세요..만약 틀리다면 어떤형식으로 해야하는지 가르쳐주세요 ㅠㅠ;
    • f2:: pause
      f3:: restart
      이런식으로 하믄 됩니다.
    • 최호수
    • 2014.07.16 14:15 신고
    '마우스 L버튼을 누르고 있는 동안 L버튼 광클' 이걸코딩 하려면
    Send, {LButton}랑 Loop구문을 써야 하나요?

티스토리 툴바