프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다.


📣 더 깊은 내용이 담긴 '프날 오토핫키 강좌'의 서적이 공개되었습니다.

지금 보고 있는 강좌를 책으로 만나보세요! 공개된 분량보다 더욱 깊은 내용을 처음이라도 괜찮아, 오토핫키 프로그래밍을 통해 배울 수 있습니다. 전국 온/오프라인 서점에서 만나요!
책 더 알아보기 및 구매하기 

37. MouseGetPos


마우스 커서 위치를 변수에 담는 방법에 대해 알아볼 것입니다.

MouseGetPos

MouseGetPos는 현재 마우스 커서의 위치를 반환하는 함수입니다.

MouseGetPos([&OutputVarX, &OutputVarY, &OutputVarWin, &OutputVarControl, Flag])

각각의 매개변수는 아래와 같은 역할을 합니다.

  • &OutputVarX: 커서 위치의 x 좌표가 담길 변수의 참조
  • &OutputVarY: 커서 위치의 y 좌표가 담길 변수의 참조
  • &OutputVarWin: 커서 위치의 창 ID가 담길 변수의 참조
  • &OutputVarControl: 커서 위치의 컨트롤 ID가 담길 변수의 참조
  • Flag: &OutputVarControl 매개변수의 동작을 설정해주는 매개변수

매개변수에 &가 붙은 이유는 인수를 '참조 형식'으로 전달해야 하기 때문인데, 현재 수준에서 이유를 설명드리기에는 복잡한 내용입니다. 그래서 여러분은 이렇게 생각하시면 됩니다.

값이 담길 변수 앞에 & 기호를 붙여 작성해준다!

따라서, var 변수에 값을 담고 싶으면, 함수에 전달할 때 &var로 사용해주시면 됩니다.

1. &OutputVarX, &OutputVarY

현재 마우스 커서 위치(x, y)가 담길 변수를 참조 형식으로 각각 적어줍니다. 만약 posXposY 변수에 각각 x, y 좌표를 담고 싶다면 &posX, &posY로 적어주시면 됩니다.

2. &OutputVarWin, &OutputVarControl

현재 마우스 커서가 위치한 곳의 창 ID와 컨트롤의 ClassNN이 담깁니다. ID가 무엇인지, ClassNN이 무엇인지는 추후에 강좌를 진행하면서 알려드리겠습니다.

자주 쓰이는 매개변수는 아니면서 지금 설명드리려면 GUI 프로그램의 구조를 설명드려야하므로 구체적인 설명은 넘어가겠습니다.

3. Flag

&OutputVarControl 매개변수에 적어준 변수에 어떤 값이 담길지 지정해주는 일종의 옵션입니다. 이 매개변수 역시 기초 강좌에서 언급하기엔 내용이 복잡해지므로 생략하겠습니다.

실습

보셨듯이 마우스가 위치한 곳의 여러 정보를 받아올 수 있는 유용한 함수이지만, 실습은 자주 쓰이는 '마우스 커서의 위치를 가져오는' 동작만 진행해보겠습니다. 예제를 살펴보면 그렇게 어렵지 않을 것입니다.

1. 마우스 커서의 위치를 가져와 출력하기

1F1::
2{
3 MouseGetPos(&posX, &posY)
4 MsgBox(posX ", " posY)
5}
6
7F2::
8{
9 ExitApp
10}
예제 1. 마우스 좌표를 출력

실행 후 F1을 누를 때마다 현재 마우스 좌표가 출력되는 것을 볼 수 있습니다.

참조 형식으로 적어주기 위해 값을 담을 변수에 & 기호를 적어준 부분은 생소하시겠지만, 그 이유를 파헤치기엔 우리가 배운 것이 너무 적습니다. 추후에 함수에 대해 구체적으로 배울 때 명확히 알려드리겠습니다.

질문하러 가기