MouseClick

마우스 버튼을 클릭하거나 누릅니다. 또는 마우스 휠을 돌립니다. 주의: Click 명령어가 일반적으로 더 유연하고 사용하기 쉽습니다.

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

매개변수

WhichButton

클릭할 버튼: Left (기본값), Right, Middle (또는 각각 그냥 앞 머리 글자 하나); 또는 네 번째 다섯 번째 마우스 버튼 (X1 또는 X2). 예를 들어: MouseClick, X1. 이 매개변수는 생략할 수 있습니다. 생략할 경우 기본값은 Left(왼쪽)입니다.

마우스 휠을 돌림: WheelUp 또는 WU를 지정하면 휠을 위로 돌립니다 (멀리); WheelDown 또는 WD를 지정하면 휠을 아래로 돌립니다 (가까이). v1.0.48+에서, WheelLeft (WL) 또는 WheelRight (WR)을 지정하면 휠을 왼쪽 또는 오른쪽으로 각각 돌릴 수 있습니다 (그러나 이것은 Windows Vista 미만의 운영 체제에서는 아무 효과가 없습니다). ClickCount는 휠을 돌릴 눈금의 개수입니다.

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

X, Y

클릭하기 전에 마우스 커서가 이동해 갈 x/y 좌표, 표현식 가능. 좌표는 활성 창에 상대적입니다. 단, CoordMode를 사용하여 좌표 체계를 바꾼 경우는 예외입니다. 생략하면, 커서의 현재 위치가 사용됩니다.

ClickCount

마우스를 클릭할 횟수, 표현식 가능. 생략하면, 버튼은 한 번만 클릭됩니다.

Speed

마우스가 이동할 속도. 범위는 0 (가장 빠름)부터 100 (가장 느림)까지, 표현식 가능. 주의: 속도가 0이면 마우스는 순간 이동합니다. 생략하면, 기본 속도 (SetDefaultMouseSpeed가 설정한 값, 아니면 2)가 사용됩니다.

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

D|U

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

R

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

논평

이 명령어는 SendMode가 설정한 전송 방법을 사용합니다.

MouseClick보다 Click 명령어를 권장합니다. 왜냐하면:

  1. 제어판을 통하여 마우스 좌우 버튼이 바꾸어도 자동으로 보상합니다.
  2. 일반적으로 더 사용하기 쉽습니다.

shift-click 또는 control-click을 수행하려면, 다음 예제와 같이 연산의 앞 뒤에 Send 명령어를 사용하십시오:

; 예제 #1: 
Send, {Control down}
MouseClick, left, 55, 233
Send, {Control up}
선택 | 내려받기
; 예제 #2:
Send, {Shift down}
MouseClick, left, 55, 233
Send, {Shift up}
선택 | 내려받기

SendPlay 모드는 다른 모드에 비해 광범위한 게임에 성공적으로 마우스 이벤트를 발생시킬 수 없습니다. 게다가, 어떤 어플리케이션과 게임은 마우스를 너무 빨리 움직이면 마우스를 추적하는 데 어려움이 있을 수있습니다. speed 매개변수 또는 SetDefaultMouseSpeed를 사용하면 속도를 줄일 수 있습니다 (기본 SendEvent 모드 전용).

어떤 어플리케이션은 마우스 휠에 대하여 1보다 큰 ClickCount를 준수하지 않습니다. 그런 경우는 다음 예제와 같이 Loop(회돌이)를 사용하십시오:

Loop, 5
    MouseClick, WheelUp
선택 | 내려받기

BlockInput 명령어를 사용하면 사용자가 물리적으로 마우스를 움직여도 마우스 명령어로 흉내낸 마우스 이벤트가 방해 받지 않습니다. 그렇지만, 일반적으로 SendInput/Play 모드에는 불필요합니다. 왜냐하면 자동으로 사용자의 물리적 마우스 이동을 다음으로 연기하기 때문입니다.

마우스의 클릭 다운과 클릭 업 사이에 자동으로 지연 시간이 삽입됩니다 (단, SendInput 모드와 마우스 휠 회전은 예외). 지연 시간의 길이를 변경하려면 SetMouseDelay를 사용하십시오.

관련 항목

CoordMode, SendMode, SetDefaultMouseSpeed, SetMouseDelay, Click, MouseClickDrag, MouseGetPos, MouseMove, ControlClick, BlockInput

예제

; 현재 마우스 위치에 더블클릭 합니다:
MouseClick, left
MouseClick, left

; 위와 동일합니다:
MouseClick, left, , , 2

; 지정된 좌표로 이동한 다음 우클릭합니다:
MouseClick, right, 200, 300

; 다음은 마우스 휠을 돌리는 두 개의 핫키입니다:
#up::MouseClick, WheelUp, , , 2  ; 두 눈금 만큼 돌립니다.
#down::MouseClick, WheelDown, , , 2
선택 | 내려받기