오토핫키 2020. 10. 12. 19:16

 

 오토핫키에서 명령어를 사용하는 방법 

오토핫키는 인터프리터 언어입니다. 위에서부터 한줄한줄씩 읽어오면서 작업합니다. 이 점 꼭 명심 바랍니다.

 

오토핫키에서 한줄 한줄은 각각 '명령어'와 '매개변수'로 나뉘어 있습니다. 명령어는 한 번에 하나만 올 수 있고 매개변수는 여러 개가 올 수 있습니다.명령어와 매개변수 사이에는 콤마","를 사용하여 구분합니다.명령어는 맨 앞, 매개변수는 뒤에 옵니다.매개변수는 불필요한 경우 생략할 수 있습니다. (단, 생략하지 못하는 필수 매개변수 있음)

아래와 같은 형태의 코드가 적혀있을 때, 명령어와 매개변수를 구분해 볼 수 있습니다.

MouseClick, WhichButton[ , X, Y, ClickCount, Speed, D|U, R]

[대괄호] 안의 매개변수들은 거의 생략 가능하다고 보시면 됩니다. 위의 항목 중 사용자 원하는거 선택하여 사용

위의 코드 한 줄을 예로 들어서 알려드릴게요

명령어: MouseClick

매개변수: [대괄호 안 각각 항목들]

0)MouseClick: 클릭한다.344, 425

1)WhichButton: Left or Right or Mid 마우스 클릭할 버튼 

2)X: X좌표(쉽게 중학교 수학의 X축 Y축 그래프라고 생각하시면 됩니다.)

  Y: Y좌표(쉽게 중학교 수학의 X축 Y축 그래프라고 생각하시면 됩니다.)

3)ClickCount: 지정한 횟수 만클 클릭(단, 생략 시 클릭 한번만 진행)

4)Speed: 마우스 이동하는 속도(거의 쓸 일 없음)

5)D|U: 

이 매개변수를 생략하면, 각 클릭은 "down" 이벤트 다음에 "up" 이벤트로 구성됩니다. 다른 방법으로는:
D = 마우스 버튼을 누르지만 떼지는 않습니다(즉, 누름 이벤트를 발생시킵니다).
U = 마우스 버튼을 놓습니다 (즉, 뗌 이벤트를 발생시킵니다).

6)R: 이 매개변수가 기 R이면, X와 Y 좌표는 현재 마우스 위치로부터의 상대거리(offsets)으로 취급됩니다. 다른 말로, 커서는 현재 위치로부터 X 픽셀 만큼 오른쪽으로 (음수이면 왼쪽으로) 그리고 Y 픽셀 만큼 아래쪽으로 (음수이면 위쪽으로) 이동합니다.

마우스클릭 매크로 간단히 보여드리겠습니다. 마우스클릭 시 화면에서 X축, Y축 좌표가 제일 중요한데요,

마우스 좌표를 알기 위해서는 오토핫키 처음 설치 시 자동으로 같이 다운로드 되는 Window Spy 프로그램입니다.

 

시작버튼→AutoHotkey폴더→Window Spy

시작버튼→AutoHotkey폴더→Window Spy 누르시면 

아래와 아래와 같은 신비한 프로그램이 뜨는데요, 바로 이놈이 중요한 놈입니다.

Mouse Position: 아래 보시면 Screen Window Client Color 나누어져 있는데요,

Screen: 모니터 화면 좌측 상단(왼쪽 모서리) 끝을 0,0 우측모서리 아래를 기준으로 합니다.

모니터마다 다르기에 끝은 다를 수 있음, 디스플레이 해상도 설정 따라갑니다.

예) 디스플레이 해상도 1980, 1020 이면 우측 모서리 아래는 이게 최대치임.

 

우선 예시로 메모장을 실행시켜보려고 하는데요, 바탕화면에 미리 메모장 만들어놨어요

실행하려면 마우스 더블클릭을 해야겠죠?

 

해당 좌표를 알기위해 Spy 프로그램 켜진 상태로 메모장 위에 마우스 올려둡니다.

342, 430 보이시죠? 이게 X축 Y축 입니다.

이제 위의 명령어로 메모장을 실행하는 소스를 작성해보겠습니다.

Coormode, Mouse, Screen ;여기 첫줄은 바탕화면에서만 마우스클릭하면 상관 없는데

절대좌표 설정 입니다, 인터넷이나 프로그램 등에서 마우스클릭 시 절대좌표로 하기 위함

(절대좌표: 디스플레이 해상도 기준 좌표라고 생각)

F1::

MouseClick, Left, 342, 430, 2

return

 

ESC::

ExitApp

-------------------------------------------------------

F1 키보드 누를 경우 342, 430 좌표를 2회클릭한다.

ESC 키보드 누를 경우 오토핫키 프로그램 종료한다.

아래 동영상 보시면 잘 작동되죠 !!

Return은 명령구간 끝났다 표시 한다고 생각하시면 됩니다. Return이 없을경우 아래에 명령어가 있을경우 쭉쭉 갑니다.

 

 

posted by 취미찾는중
: