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)가 사용됩니다.
Speed는 SendInput/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 명령어를 권장합니다. 왜냐하면:
- 제어판을 통하여 마우스 좌우 버튼이 바꾸어도 자동으로 보상합니다.
- 일반적으로 더 사용하기 쉽습니다.
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