오토핫키 강좌 - 좌표란 무엇인가?

오토핫키 외에도 좌표는 사용될수가 있습니다.

오토핫키가 아닌 다른걸로 매크로를 만드신다면요.

먼저 좌표라는건 위치 입니다.

중학교 수학시간에 좌표를 배우는데,2차원으로 된 XY를 배울겁니다.

우리가 모니터를 보는것도 2차원으로 되어있습니다 가로 세로가 있을뿐,그외에는 없습니다.

즉 우리가 특정좌표에서 무언가를하고싶을때,XY를 알아야 하는것입니다.

즉 X축은 가로,Y축은 세로라는것입니다. 이선이 서로 교차될때,만나는선이 바로 그좌표의 위치입니다.

만약 200,50(X,Y)축에 만나는 점에서,마우스클릭을 하고싶을때, MouseClick,left,200,50을 하면 저기로 이동하면서 클릭이 됩니다.

그럼 내가원하는 좌표는 어떻게 알아야 할까요?


오토핫키와 같이 설치된 유틸리티 프로그램인 window spy를 이용하면 됩니다.

현재 좌표에 대해 알고있으니 나머지 사항은 필요할때 알려드리겠습니다.

Active window info 프로그램창에서 Mouse Position만 보시면 됩니다.

Absolute - 나의모니터 기준에서 마우스가 위치한 좌표입니다.

Relative - 가장 기본의 기본입니다 현재 활성화 된 프로그램에서 마우스가 위치한 좌표 입니다. 절대좌표라고도 합니다.

Client - 프로그램의 겉을 제외한,실제로 사용할수있는 좌표를 기준입니다.

자기 혼자만 쓸꺼면 Absolute를 쓰던 Relative를 쓰던 상관없긴 합니다.

하지만,Absolute는 앞서 말햇듯이, 내모니터의 기준이라 다른컴퓨터의 모니터라면 다를수도 있겠죠.

Relative는 내가 변경하지 않은 이상 절대 좌표입니다.

활성화된 창에서 찾는거라 가장 많이 쓰이고, 매크로를 공유할 목적이라면 더욱 Relative를 써야합니다.

Client는 메모장을 사용가능한 범위라고 할수있습니다.

기본적인 프로그램의 틀을 제외한 것이라고 보시면됩니다.

Relative는 말그대로 메모장이고요.

게임으로 하나로 예시를 들어봅시다.

게임의 해상도가 1024x768이라고 하면, 이 프로그램을 모니터 아무곳이나 막움직인다고 해상도가 변하는거는 아니잖아요?

그래서 절대 좌표 라고하는겁니다. Relative는 활성화된 창을 기준으로 하기 때문입니다.

Absolute는 모니터전체를 기준으로하는거라 프로그램을 움직인다면,좌표도 같이 수정해주어야겠습니다.

Client도 Relative랑 거의 똑같다고 해도 무방하지만, 활성화된 프로그램창에서 범위차이만 있을뿐,그외에는 없습니다.


예제

새 AutoHotkey Script.ahk

위에의 스크립트를 다운받아,컴파일을 시킨후 바탕화면을 한번클릭하고 F1을 눌러보시고,

메모장을 하나 띄워서 글쓰기가 가능한 상태인,활성화가 된상태에서 F1을 눌러보세요.

뭐든지 직접해봐야 이해하기가 쉽습니다.


예제 스크립트 소스


  1. #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.

  2. ; #Warn  ; Enable warnings to assist with detecting common errors.

  3. SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

  4. SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


  5. F1::

  6. MouseMove,100,100

  7. return


  8. F2::

  9. ExitApp


질문이나 모르는것은,댓글로 물어보시면 친철히 알려드리겠습니다.

댓글을 달아 주세요