컴퓨터프로그래밍/autoHotKey(매크로)

AutoHotKey 마우스,키보드 제어 매크로

zelkova 2016. 9. 25. 20:33

<목차로 돌아가기>


처음 오시는 분들은 위의 목차로 돌아가기를 눌러서 처음부터 봐주세요


  마우스, 키보드 제어하기


이번에는 마우스와 키보드를 제어하는 방법을 다뤄보겠습니다.


키보드관련 제어 명령어

send


send 명령어로 키보드를 제어할 수 있씁니다.


명령어 리스트 <-- 클릭해서 명령어 확인하세요.


예를들어서 'send, a' 명령어를 사용한다면 키보드a를 누르는 효과를 줍니다.


'send, 가나다라마바사' 명령어를 사용한다면

'가나다라마바사'를 타이핑합니다.



마우스관련 제어 명령어

Click 


Click
현재위치에서 왼쪽 마우스버튼을 한번 클릭합니다.


Click 100, 80 

좌표(100, 80)으로 이동하여  왼쪽 마우스버튼을 한번 클릭합니다.


Click 100, 80, 0

좌표(100, 80)으로 이동합니다.


Click 100, 80 right

좌표(100, 80)으로 이동하여오른쪽 마우스버튼을 한번 클릭합니다.


Click 2

현재위치에서 왼쪽 마우스버튼을 더블 클릭합니다.


Click down

현재 마우스 포인트 위치에서 왼쪽 마우스버튼을 누릅니다.


Click up

현재 마우스 포인트 위치에서 왼쪽 마우스버튼을 올립니다


Click down right

현재 마우스 포인트 위치에서 오른쪽 마우스버튼을 누릅니다.


Click up right

현재 마우스 포인트 위치에서 오른쪽 마우스버튼을 올립니다


이 밖에도 많은 명령어가 있으나 다른건 복잡하니 천천히 정리하겠습니다.




예제1)

Win+a키를 누르면 1800, 1020 좌표로 이동하여 클릭하고 
선택된 것을 복사하고 엔터를 누른뒤 붙여넣는 간단한 매크로입니다.

  1. #a::   
  2.     CoordMode , Mouse, screen 
  3.     Click, left, 1800, 1020 
  4.     sleep, 50 
  5.     Send, ^C
  6.     Send, {Enter} 
  7.     Send, ^V
  8. return
2줄 
CoordMode , Mouse, screen 
마우스의 상대좌표에서 화면상의 절대좌표로 바꿔줍니다.

3즐 
Click 1800, 1020 
위의 명령어는 1800, 1020의 좌표에서 왼쪽 마우스를 클릭한다는 명령어 입니다. 

마우스 좌표를 알아내는 방법은 AU3_Spy.exe를 실행시키면 됩니다.
기본 설치경로에 설치하셨으면 C:\Program Files\AutoHotkey 에 있습니다.

또는 트레이아이콘을 우클릭-> Window Spy를 실행시키시면 됩니다.

4줄 
sleep, 500
1초는 1000 입니다.
위의 명령어는 0.5초의 시간을 지연시킨다는 명령어 입니다.

5줄
Send, ^C 
컴퓨터에 Ctrl + 'C'를 입력되게 하는 명령어 입니다.
Ctrl + C 입력하기
Enter 입력하기
Ctrl + V 입력하기 

6줄
return
매크로의 끝을 선언합니다.



예제2)

Alt + 왼쪽화살표로 웹페이지 뒤로가기 기능을 구현했습니다.
  1. MButton::     
  2.    send, {Alt Down}{Left}{Alt Up} 
  3.    sleep, 300
  4. return
1줄 
MButton::     
마우스 휠을 클릭합니다.

2줄
send, {Alt Down}{Left}{Alt Up} 
Alt키를 누르고 왼쪽 방향키를 누른뒤 누른 Alt키에서 손을 땝니다.

3줄
sleep, 300
0.3초동안 쉽니다.

4줄
return
명령어를 종료시킵니다.



  자주 사용하는 소스 정리


마우스의 현재위치를 기억하여 활용하기

^+1::

    CoordMode , Mouse, screen 

    mousegetpos,lastXp,lastYp

return


mButton::

    CoordMode , Mouse, screen 

    mousegetpos,currentXp,currentYp

    click,lastXp,lastYp

    mousemove, currentXp, currentYp


RETURN 

마우스를 현재 좌표를 기억하고

^+1 로 저장된 좌표로 이동해서 클릭한뒤

클릭전에 기억한 좌표로 이동하여 다시 클릭한다.


절대좌표로 변경시키기

CoordMode , Mouse, screen 

마우스의 상대좌표에서 화면상의 절대좌표로 바꿔줍니다.


마우스 드래그하기

SendEvent {Click 676, 13, down}{click 1060, 20, up}

위 명령어는 676,13 좌표에서 왼쪽마우스버튼을 누르고 1060,20으로 이동한뒤 왼쪽마우스버튼을 누른 것을 땐다는 명령어 입니다.




마우스 클릭하기

mouseClick, left, 1800, 1020 

위의 명령어는 1800, 1020의 좌표에서 왼쪽 마우스를 클릭한다는 명령어 입니다. 


마우스 좌표를 알아내는 방법은 AU3_Spy.exe를 실행시키면 됩니다.

기본 설치경로에 설치하셨으면 C:\Program Files\AutoHotkey 에 있습니다.


또는 트레이아이콘을 우클릭-> Window Spy를 실행시키시면 됩니다.

반응형