AutoHotKey 일정 영역을 랜덤 클릭 하기 - 소스 공개
Tip/AHKmacro
2013. 7. 26. 12:11
이번엔 오토핫키로 일정 영역을 랜덤 클릭하는 매크로를 짜보았습니다.
오토핫키를 공부하시는데 참고하시길 바라며 소스를 공개합니다.
;~ 아래는 마우스와 매크로 명령 딜레이를 0으로 해주는겁니다.
;~ 빨라지나 과하게 설정하면 CPU점유율이 상승합니다.
SetDefaultMouseSpeed,0
SetKeyDelay,0
SetControlDelay,0
SetBatchLines 0
SetWinDelay,0
SetMouseDelay,0
;~ coordmode는 픽셀관련, 마우스 관련 동작할때 위치 기준을 잡는 선언입니다.
;~ 본 예제는 Screen 전체화면 모드입니다.
CoordMode,Pixel,Screen
CoordMode,Mouse,Screen
;특정 좌표의 일정영역을 랜덤하게 클릭 단축키 컨트롤+HOME 키
^Home::
;~ 그림판의 창의 위치와 창의 크기를 변수에 저장
WinGetPos, X, Y, Width, Height, ahk_class MSPaintApp
;~ 그림판 창 활성화
WinActivate, ahk_class MSPaintApp
;~ 창의 중간 영역(0.5,0.5)에 50픽셀 정사각형의 영역을 설정
varX:=50 ;일정영역(박스) 크기 픽셀 X축
varY:=50 ;일정영역(박스) 크기 픽셀 Y축
ratioX:=0.5 ;일정영역의 위치 0.9면 창의 90% 위치. 0.5면 중간
ratioY:=0.5
;~ floor는 소숫점 버림 입니다.
boxX:=X+floor((Width-varX)*ratioX)
boxY:=Y+floor((Height-varY)*ratioY)
loop, 500
{
;~ boxX축에서 boxX축에다 박스 가로크기 더한 만큼의 값 중에 랜덤
Random, Xpos,boxX,boxX+varX
Random, Ypos,boxY,boxY+varY
MouseClick,left,Xpos,Ypos
}
return
;~ 아래는 제가 테스트용으로 AHK를 만들때 항상 넣는 단축키입니다.
;~ 종료,멈춤,새로고침 3종 세트입니다.
^End::ExitApp
Pause::Pause
^PGUP::Reload
return
아래는 실행 결과입니다.