프날 오토핫키 강좌
누르면 강좌 리스트가 나와요
프날 오토핫키 강좌

⚠ 이 강좌는 오토핫키 v1을 다룹니다

지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.

[프날 오토핫키] 22. MouseMove와 MouseClick

이번 강좌에서는 자동으로 마우스를 움직이고, 클릭할 수 있게 해보겠습니다. 그 전에, 좌표를 어떻게 구하는지 아셔야겠죠.


 특정 위치의 좌표 알아내는 법 

SciTE4AutoHotkey의 바로가기 버튼 중에서, 사진에 표시해 둔 노란색 창 아이콘을 누르시면 Active Window Info라는 창이 뜹니다. (Wndows 검색에서 Window Spy를 쳐도 나옵니다.)

 

켜시면 위와 같이 Mouse Position 칸에 마우스 좌표가 나옵니다.

Absolute는 절대 좌표, Relative는 상대 좌표, Client는 클라이언트 좌표입니다.

 


 마우스를 움직이는 MouseMove 

MouseMove, X, Y [, Speed, Relative]
  • X 매개변수와 Y 매개변수: 이동할 좌표가 들어갑니다. (사실 여기까지만 알고있어도 문제 없습니다.)
  • Speed 매개변수: 마우스 이동 속도가 들어가며, 0부터 100까지로 써주시면 됩니다.
  • Relative 매개변수: R을 써주면 지정한 좌표 체계를 무시하고 "현재 마우스 위치를 기준"으로 합니다. 잘 쓰이지는 않습니다.

 

예제를 볼까요, 아래 스크립트는 모니터 기준 (500, 500)위치로 마우스를 이동시키는 스크립트입니다. Active Window Info에는 Absolute 좌표가 되겠습니다.

CoordMode, Mouse, Screen
MouseMove, 500, 500
Exitapp

쉽지요?

 

아래 스크립트는 F1을 누를때마다 0.5초씩 쉬면서 화면을 사각형 모양으로 이동할것입니다.

CoordMode, Mouse, Screen

F1::
MouseMove, 500, 500
Sleep, 500
MouseMove, 700, 500
Sleep, 500
MouseMove, 700, 700
Sleep, 500
MouseMove, 500, 700
Sleep, 500
MouseMove, 500, 500
return

F2::
ExitApp

22강 1.ahk
0.00MB


 마우스 클릭을 해주는 MouseClick 

MouseClick [, WhichButton, X, Y, ClickCount, Speed, DownOrUp, Relative]

이게 전체 매개변수 설명인데, 우리는 제일 많이 쓰는 ClickCount까지만 보겠습니다.

 

MouseClick [, WhichButton, X, Y, ClickCount]

MouseClick은 마우스를 클릭해주는 명령어입니다.

  • WhichButtons 매개변수: Left, Middle, Right를 써주시면 되며 각각 좌클릭, 휠클릭, 우클릭입니다.
  • X 매개변수와 Y 매개변수: 좌표가 들어가면 됩니다.
  • ClickCount 매개변수: 클릭 횟수를 표시해주시면 됩니다.

X, Y까지만 써주는 경우가 제일 많습니다.

 

예제를 볼까요. 아래 스크립트는 (100, 100)좌표를 절대 좌표로 클릭합니다.

CoordMode, Mouse, Screen
MouseClick, Left, 100, 100
Exitapp

22강 2.ahk
0.00MB


 추가 사항 

  • MouseMove와 MouseClick의 Speed 매개변수는 2가 기본 속도이며, 0이 즉시 이동입니다.
  • MouseClick의 WhichButtons 매개변수에는 Left | Middle | Right를 줄여서 L | M | R로 쓸 수 있습니다.
  • MouseClick의 WhichButtons 매개변수에 마우스의 편의 키를 지정하고 싶다면 X1, X2...로 써주시면 됩니다.
  • MouseClick의 모든 파라미터를 생략하면 Send, {LButton}과 동일합니다.

마우스 관련 명령어는 추후에 갈수록 사용 빈도가 줄어들지만, 편리하기 때문에 지속적으로 쓰이는 명령어입니다.

두 명령어 모두 Y 매개변수 까지만 쓰이는 경우가 제일 많으므로 숙지해두셨으면 합니다.

 

다음 강은 쉬워집니다.

 


| 22. MouseMove와 MouseClick |