MouseMove

마우스 커서를 이동합니다.

MouseMove, X, Y , Speed, Relative

매개변수

X, Y

마우스를 이동할 x/y 좌표, 표현식 가능. 조표는 활성 창에 상대적입니다. 좌표는 활성 창에 상대적입니다. 단, CoordMode가 사용되어 좌표가 변경된 경우는 제외합니다.

Speed

범위는 0 (가장 빠름)부터 100 (가장 느림)까지입니다. 표현식 가능.

주의: 속도가 0이면 마우스를 순간 이동시킵니다.

생략하면, 기본 속도 (SetDefaultMouseSpeed가 설정하거나 그렇지 않으면 2)가 사용됩니다.

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

Relative

If omitted, the X and Y coordinates will be treated as absolute values. To change this behavior, specify the following letter:

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

논평

이 명령어는 SendMode에 의하여 설정된 전송 방법을 사용합니다.

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

BlockInput 명령어를 사용하면 사용자의 물리적인 마우스 활동 때문에 마우스 명령어로 생산되는 흉내낸 마우스 이벤트들이 어질러지는 것을 막을 수 있습니다. 그렇지만, 일반적으로 SendInput/Play 모드에는 불필요합니다. 왜냐하면 자동으로 사용자의 물리적 마우스 움직임을 뒤로 연기시켜 주기 때문입니다.

마우스의 매 움직임마다 자동으로 지연 시간이 삽입됩니다 (SendInput 모드는 예외). SetMouseDelay를 사용하면 지연시간을 변경할 수 있습니다.

다음은 마우스 커서를 이동하는 다른 방법입니다. 어떤 다중-모니터 구성에서는 더 잘 작동할 수도 있습니다:

DllCall("SetCursorPos", "int", 100, "int", 400)  ; 첫 번째 숫자는 X-좌표이고 두 번째 좌표는 Y입니다 (화면에 상대적입니다).

관련하여 말씀드리면, 마우스 커서는 커서-숨기기 예제와 같이 임시로 숨을 수 있습니다.

CoordMode, SendMode, SetDefaultMouseSpeed, SetMouseDelay, Click, MouseClick, MouseClickDrag, MouseGetPos, BlockInput

예제

Moves the mouse cursor to a new position.

MouseMove, 200, 100

Moves the mouse cursor slowly (speed 50 vs. 2) by 20 pixels to the right and 30 pixels down from its current location.

MouseMove, 20, 30, 50, R