⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.
이번에 알아볼 명령어는 MouseGetPos입니다.
마우스의 좌표를 가져오는 MouseGetPos
MouseGetPos는 현재 마우스의 좌표를 가져오는 역할입니다.
MouseGetPos [, OutputVarX, OutputVarY]
사실 더 많은 매개변수가 있지만, OutputvarX 매개변수와 OutputVarY 매개변수만 사용되는 경우가 압도적으로 많기 때문에 이것만 설명드리도록 하겠습니다.
- OutputVarX 매개변수: 현재 마우스의 X좌표가 담길 변수입니다.
- OutputVarY 매개변수: 현재 마우스의 Y좌표가 담길 변수입니다.
즉, 만약 아래와 같이 써준다면
MouseGetPos, vx, vy
vx, vy변수에는 현재 마우스의 좌표가 들어있겠지요.
이런식으로 대입 연산자를 사용하지 않고 특정 명령어를 통해 "도출"되는 변수를 "출력 변수" 라고 합니다.
그러면 아래 스크립트를 이해하실 수 있나요? 지금까지 배웠던 이스케이프 시퀀스 등을 활용해보았습니다.
CoordMode, Mouse, Screen
MouseGetPos, screenX, screenY
CoordMode, Mouse, Relative
MouseGetPos, relativeX, relativeY
CoordMode, Mouse, Client
MouseGetPos, clientX, clientY
MsgBox, 현재 마우스 좌표`n`n절대 좌표: %screenX%`, %screenY%`n상대 좌표: %relativeX%`, %relativeY%`n클라이언트 좌표: %clientX%`, %clientY%
Exitapp
CoordMode로 좌표 체계를 바꿔가면서, 각각의 좌표 체계에 따라 현재 마우스 좌표가 어떻게 표현되는지 MsgBox로 출력한 모습입니다.
여담으로, 해당 예제의 MsgBox 구문은 이렇게 쓸 수도 있겠네요. (12강 참고)
MsgBox, % "현재 마우스 좌표`n`n절대 좌표: " screenX ", " screenY "`n상대 좌표: " relativeX ", " relativeY "`n클라이언트 좌표: " clientX ", " clientY
마지막 예제를 이해하셨다면 제 강좌를 잘 따라오고 있으신겁니다. 일부러 조금 응용되는 예제를 사용했으니 난이도가 제법 있지요.
그렇지만 보기에만 그렇고, 실제로는 쉽습니다. 직접 실행시켜가며 배우시면 금방 이해하시게 될겁니다.
< 22. MouseMove와 MouseClick | 23. MouseGetPos | 24. 프로그래밍 문제 (5) >