티스토리 뷰

#Chapter.13 ,비활성 이미지 클릭


테라M 매크로 만들기


#스크립트 실행 영상입니다.


이번 Chapter에서는 찾은 이미지를 클릭하는 방법에대해 설명 드리겠습니다.

준비물은 Gdip.ahk , Gdip_ImageSearch.ahk, Search_img , 찾을 이미지 입니다.

Gdip.ahk , Gdip_ImageSearch.ahk는 공식 홈페이지에서 얻을 수 있는 라이브러리 이고,

Search_img는 제가 구글링 통해 만든 ahk라고 말씀드렸었습니다.


이미지는 녹스 테라M 아이콘을 기준으로 설명드리겠습니다.

ahk, 이미지 파일 올려드립니다.


Chapter_13.zip

Tera_13_img.zip

#위 링크로 다운 받을 수 있습니다.


Chapter_13.txt

#스크립트 원본 입니다. 


gui,show,w100 h100 center,chapter13

#width(가로) 100, height(세로) 100 사이즈의 구이창을 생성합니다.

gui,Add,Button,x0 y0 w100 h50 gStart,Start

#생성된 guid의 x좌표 0, y좌표 0을 기준으로 버튼을 생성합니다. 버튼이 눌리면 Start구문을 실행합니다.

버튼 이름은 Start입니다.

gui,Add,Button,x0 y50 w100 h50 gStop,Stop

#생성된 guid의 x좌표 0, y좌표 50을 기준으로 버튼을 생성합니다. 버튼이 눌리면 Stop구문을 실행합니다.

버튼 이름은 Stop입니다.

return


#Include Gdip.ahk

#Include Gdip_ImageSearch.ahk

#Include Search_img.ahk

#준비한 ahk 파일을 include 시킵니다.


PostClick(FoundX,FoundY){

#PostMessage 명령문을 좀더 쉽게 활용하기 위해 함수로 따로만들었습니다. 

PostClick(x좌표,y좌표)로 사용하실 수 있습니다.

lparam:=FoundX|FoundY<<16

#PostMessage는 x,y 좌표의 값을 16진수로 받습니다.

파라미터로 받은 x,y 좌표의 값을 16진수로 변경합니다.

PostMessage,0x201,1,%lparam%,,녹스 플레이어

#해당 좌표에 마우스를 클릭합니다.

PostMessage,0x202,0,%lparam%,,녹스 플레이어

#해당 좌표의 마우스 클릭을 해지합니다.

Sleep, 1000

#1000밀리세컨드(1초) 동안 진행을 멈춥니다.

}


Start:

#Start 버튼을 누르면 실행됩니다.

WinGet,Nox,ID,녹스 플레이어

#Search_img.ahk의 사용법은 Searh_img("이미지이름",ID값,x좌표를 저장할 변수이름,y좌표를 저장할 변수 이름)

입니다. 녹스 플레이어의 좌표값을 Nox라는 변수에 저장합니다.

if(Search_img("Tera.bmp",Nox,x,y)){

#Tera.bmp이미지를 찾습니다. Nox(녹스플레이어의 ID값), 찾은 x좌표를 x에, y좌표를 y에 저장합니다. 이미지를

찾으면 true를 반환하기때문에 if구문이 실행됩니다.

PostClick(x,y)

#위에서 설명드린 PostClick함수에 찾은 x좌표값, y좌표값을 보냅니다.

}

return



Stop:

ExitApp

return


GuiClose:

ExitApp

return


다음 Chapter 부터는 본격적으로 오토핫키를 이용해 비활성에서 적용되는 테라M 매크로를 만들어 보겠습니다. 



댓글