컴퓨터 프로그래밍/Autohotkey

#6 오토핫키 Mouse / 오토핫키 마우스 / 이동, 클릭, 드래그

나노콛 2019. 8. 18. 22:43

MouseMove 마우스 이동

 

MouseMove, X좌표, Y좌표, 속도, 상대좌표

 

insert::   ;시작키는 insert키
MouseMove, 100, 100  ; 화면에서 X100 Y100인 자리로 마우스 이동

컴퓨터의 좌표는
좌측 상단이 x0 y0입니다.
그러면 위의 소스에서 x는 좌측 상단으로부터 오른쪽으로 100 픽셀 y는 아래로 100픽셀입니다.

 

위의 소스를 확인해보면 알겠지만 활성화된 창에서의 x100 y100을 가리킵니다.
창을 변경해 가면서 돌려 보시면 이해가 가실 겁니다.

속도와 상태 좌표는

속도는 생략하면 기본값은 2이며 0(즉시)부터 100(천천히)까지 설정이 가능합니다.
게임에서 좌표를 이동한다면 너무 빠른 경우 원활한 작업을 하기 힘들 수 있습니다.

 

상대 좌표는 R이라고 쓰면 되는데

insert::   ;시작키는 insert키
MouseMove, 100, 100, ,R  ; 속도를 쓰지 않는다면 ,(콤마)로 비우고 씁니다. 

이렇게 설정을 하면 X좌표와 Y좌표는 현재 커서 위치에서의 상태 좌표로서 다루어집니다.
현재 마우스 커서가 있는 위치를 0,0으로 판단합니다.


MouseClick 마우스 클릭

 

MouseClick, 버튼 종류, X, Y, 클릭 횟수, 속도, 버튼 누르고 있기|떼기, 상대 좌표

 

insert::   ;시작키는 insert키
MouseClick, left, 100, 100

x100 y100 위치를 한번 왼 클릭합니다.
인수를 많이 빼먹었는데요

클릭 횟수는 생략 시 1번 클릭입니다.
속도는 마우스 이동과 속성이 같습니다. (0~100)
상대 좌표도 이동과 속성이 같습니다. (R)

버튼 누르고 떼기는

insert::   ;시작키는 insert키
MouseClick,left,100,100,,D    ;D는 누르고 있기 설정입니다.
MouseClick,left,100,150,,U    ;U는 떼기 설정 입니다.

X100 Y100 자리에서 왼 클릭 후
X100 Y150 자리에서 떼게 됩니다.

일반적으로 아는 마우스 드래그입니다.


마우스 클릭 버튼명에 대하여

https://qzqz.tistory.com/286

 

위의 글을 참조해도 좋고
아래처럼 축약형을 써도 됩니다.

LButton ; L
RButton ; R
MButton ; M
WheelDown ; WD
WheelUp ; WU

;마우스 확장버튼
X1  
X2  

 

현재 마우스 커서 위치를 클릭하는 코드입니다.

MouseClick,L

MouseClickDrag 마우스 드래그

 

MouseClickDrag, 버튼, X1, Y1, X2, Y2, 속도, 상대 좌표

여기에서는 좌표가 두 쌍이 들어가는데요
그것은 드래그하기 위해 처음 클릭 자리와 클릭을 뗄 마지막 좌표가 필요하기 때문입니다.

 

insert::   ;시작키는 insert키
MouseClick,left,100,100,,D    ;D는 누르고 있기 설정입니다.
MouseClick,left,100,150,,U    ;U는 떼기 설정 입니다.

위의 소스 코드를 아래와 같이 짤 수 있습니다.

insert::   ;시작키는 insert키
MouseClickDrag,L, 100, 100, 100, 150


특히 온라인 게임에서 드래그를 구현할 때

MouseClickDrag를 바로 사용하지 않고 MouseClick으로 구현하는 것도 괜찮습니다.
렉이나 각종 요소들로 인하여 한방에 처리하는 클릭 드래그가 안될 수도 있기 때문입니다.

 

소스 코드는 조금 길어질 수 있으나 제대로만 돌아간다면 가장 베스트입니다.