13 - [오토핫키] MouseClick

    Send로 키보드를 다뤘다면 이제는 마우스를 관리해 봅시다. 여기까지 마치면 단순히 반복되는 작업들은 오토핫키를 통해 쉽게 제작 할 수 있겠죠?

     

    문법

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

     

    설명

    WhichButton

    클릭할 버튼으로 Left(기본값), Right, Middle 혹은 L, R, M으로 줄여 쓸수도 있습니다.

    WheelUp, WheelDown으로 휠을 굴릴수도 있습니다.

    X, Y

    마우스를 클릭할 좌표입니다.

    ClickCount

    마우스를 클릭할 횟수를 지정합니다.

    Speed

    마우스가 이동할 속도를 0~100까지 지정합니다. 0이면 마우스는 순간이동 합니다.

    (SetDefaultMouseSpeed 명령어로 지정 할수도 있는데 속도관련 명령어는 모아서 한번에 포스팅 할게요.)

    D|U

    마우스를 "Down"으로 유지 할지 "Up"으로 유지 할지 결정합니다. 생략하면 일반적인 클릭이 됩니다.

    R

    현재 마우스의 위치로부터 상대거리로 움직입니다.

     

     

    예제

    예제1)

    F1::MouseClick

     

    F2::MouseClick, , 20, 20, 2, 0, , R

     

    F3::

    send, {Ctrl down}

    MouseClick, L, 100, 200

    Send, {Ctrl up}

    Return

     

    F4::MouseClick, WheelUp, , , 10

    예제2)

    F1::vX=11

    F2::vY=98

    F3::vX=40

    F4::vY=67

     

    F5::MouseClick, , vX, vY, , , D

    F6::MouseClick, , %vX%, %vY%, , , U

     

    예제1의 "F1"은 가장 간략하게 모든것을 생략하고 클릭만을 합니다. "F2"는 상대좌표를 사용하며 더블클릭을 하도록 했어요. "F3"은 Send와 함께 사용하여 Ctrl+클릭도 할수 있으며 "F4"는 휠도 굴릴수 있어요.

    예제2는 드디어 변수를 사용했어요. F1,3에 vX라는 변수, F2,4에 vY라는 변수를 넣었습니다. "F1"과"F2"를 차례로 누른후 "F5"를 눌러보세요. 그럼 11, 98의 좌표에 마우스를 클릭 하겠죠? 이제는 "F3", "F4"를 눌러 변수를 다시 지정해준 후 "F6"을 눌러봅시다. 마우스 드래그가 잘 되었나요? 이처럼 변수를 활용하여 마우스 좌표를 바꿀수도 있답니다. 사실 MouseClickDrag라는 별도의 명령어가 존재하지만 MouseClick으로도 드래그를 구현할 수 있는 응용력을 키워야 원하는 스크립트를 쉽게 짤 수 있겠죠?

    그런데 잠깐!!! 변수을 열어볼때 %로 둘러 싸야한다고 말씀 드렸는데 F5는 둘러싸지 않아도 변수로써 작동을 했죠? 이는 표현식(Expressions)이라는 방법으로 표기합니다. 표현식은 흔히 연산(계산)을 할때 사용하는데 아직은 어려우니 그냥 표현식이라는게 있고, MouseClick명령어에서 좌표는 표현식으로도 쓸 수 있구나 라는 정도만 생각하면 됩니다.

     

     

     

     

     

     

    Posted by 옹봉이