#Chapter.13 ,오토핫키 비활성 이미지 클릭
#Chapter.13 ,비활성 이미지 클릭
테라M 매크로 만들기
#스크립트 실행 영상입니다.
이번 Chapter에서는 찾은 이미지를 클릭하는 방법에대해 설명 드리겠습니다.
준비물은 Gdip.ahk , Gdip_ImageSearch.ahk, Search_img , 찾을 이미지 입니다.
Gdip.ahk , Gdip_ImageSearch.ahk는 공식 홈페이지에서 얻을 수 있는 라이브러리 이고,
Search_img는 제가 구글링 통해 만든 ahk라고 말씀드렸었습니다.
이미지는 녹스 테라M 아이콘을 기준으로 설명드리겠습니다.
ahk, 이미지 파일 올려드립니다.
#위 링크로 다운 받을 수 있습니다.
#스크립트 원본 입니다.
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 매크로를 만들어 보겠습니다.