'마우스클릭'에 해당되는 글 2건

  1. 2020.10.12 :: 오토핫키 마우스클릭 및 드래그
  2. 2020.10.12 :: 오토핫키 마우스클릭(MouseClick)
오토핫키 2020. 10. 12. 19:36

전 포스팅에서는 마우스클릭만 다루었는데 이번에는 마우스클릭 및 드래그 같이 다루어보겠습니다.

명령어 중간중간 sleep 500 이런식으로 되어있는데 일종의 기다리는 시간이라고 보시면 됩니다.

기다리는 대기시간 Sleep 을 넣지 않을 경우 너무 빨라서 프로그램 에서는 작동이 제대로 안됩니다.

예) 버튼 누를 시 화면이 뜨기전에 미리 해당좌표 클릭 등등

Sleep 500 → 500ms초 기다려라,(0.5초)

 

설명은 전 포스팅에서 어느정도 하였기에 동영상과 간단 설명으로 하겠습니다.

동영상은 엑셀에서 도형을 간단히 그리는 동작입니다.(마우스 클릭 및 드래그)

이런식으로 사용자가 원하는데로 손쉽게 매크로 제작할 수 있습니다.

CoordMode, mouse, screen ;디스플레이 해상도 기준 절대좌표 지정 명령어
F1:: ;키보드 F1 누를 시 매크로 실행
MouseClick, Left, 360, 150 ;;;;;360, 150 좌표 마우스 좌클릭
sleep 500 ;;;;;500ms만큼 기다린다.(0.5초 기다린다.)
MouseClick, left, 436, 172
sleep 1000 ;;;;;1000ms만큼 기다린다.(1초 기다린다.)
MouseClick, left, 525, 219
sleep 1000 ;;;;;1000ms만큼 기다린다.(1초 기다린다.)
MouseClickDrag, left, 346, 329, 558, 458 ;;;;;346, 329 좌표에서 좌클릭 드래그하여 558, 458 좌표에서 놓는다.
return

ESC::
exitapp

 

아래의 동영상은 제가 작업하는 기초적인 예시입니다.

실제 클릭될 곳들을 한번씩 마우스 이동하고 좌표를 메모장 같은곳에 기입하고

후에 명령어 추가하여 입력하는 방식으로 합니다.

MouseClickDrag 관련 설명


지정된 마우스 버튼을 클릭하고 누릅니다. 마우스를 목표 좌표로 이동시킨 다음, 버튼을 놓습니다.MouseClickDrag, WhichButton, X1, Y1, X2, Y2 [, Speed, R]

 

매개변수:

1)WhichButton

클릭할 버튼: Left, Right, Middle (또는 각각 앞 글자 하나). X1은 네 번째 버튼, X2는 다섯 번째 버튼입니다. 예를 들어: MouseClickDrag, X1, ....

사용자가 제어판을 통하여 마우스 좌우 버튼을 바꾼 경우 자동으로 보상하려면, 대신에 Click 명령어를 사용하십시오.

2)X1, Y1

끌기를 시작할 위치의 x/y 좌표, 표현식 가능 (마우스는 끌기가 시작되기 바로 전 이 좌표로 이동합니다). 좌표는 활성 창에 상대적입니다. 단, CoordMode를 사용하여 좌표 체계를 바꾼 경우는 예외입니다. 생략하면, 마우스의 현재 위치가 사용됩니다.

3)X2, Y2

마우스를 끌어다 놓을 x/y 좌표 (즉, 버튼이 눌려 있는 동안), 표현식. 좌표는 활성 창에 상대적입니다. 단, CoordMode를 사용하여 좌표를 바꾼 경우는 예외입니다.

4)Speed

마우스를 이동할 속도. 범위는 0 (가장 빠름)부터 100 (가장 느림)까지입니다. 표현식 가능. 주의: 속도가 0이면 마우스를 순간 이동시킵니다. 생략하면, 기본 속도 (SetDefaultMouseSpeed가 설정하거나 그렇지 않으면 2)가 사용됩니다.

Speed는 SendInput/Play 모드에서 무시됩니다; 이 모드에서 마우스는 순간 이동합니다 (물론 SetMouseDelay에는 SendPlay에 적용할 모드가 있습니다). 시각적으로 마우스를 더 느리게 이동시키려면 -- 예를 들어 청중을 위한 데모를 수행하는 스크립트라면 -- (선택적으로 BlockInput과 함께) SendEvent {Click 100, 200} 또는 SendMode Event를 사용하십시오.

5)R

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

비슷하게, X2와 Y2 좌표는 X1과 Y1 좌표로부터의 상대거리로 취급됩니다. 예를 들어, 다음은 먼저 그의 시작 위치로부터 커서를 아래로 오른쪽으로 5 픽셀 만큼 이동시킵니다. 그 다음에 그 위치로부터 마우스를 아래로 그리고 오른쪽으로 10 픽셀 만큼 끌어 놓습니다: MouseClickDrag, Left, 5, 5, 10, 10, , R

'오토핫키' 카테고리의 다른 글

오토핫키 설명 HELP 한글버전  (0) 2020.10.17
오토핫키 키보드 입력(Send)  (2) 2020.10.17
오토핫키 마우스클릭(MouseClick)  (0) 2020.10.12
오토핫키 추가 편집기 및 한글패치  (0) 2020.10.12
오토핫키 설치  (0) 2020.10.12
posted by 취미찾는중
:
오토핫키 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 취미찾는중
: