End::Pause
Home::
#NoEnv ; 변수명이 환경변수인지 체크하는걸 무시, 스크립트 속도 상승과 환경변수 혼동으로 인한 버그 방지
#SingleInstance force ; 스크립트를 동시에 한개만 실행
#Persistent ; 핫키가 없더라도 스크립트 실행을 유지
SetBatchLines,-1 ; 라인간 딜레이를 없애서 속도 상승
ListLines, Off ; 스크립트가 최근 실행한 커맨드 표시 안함 = 스크립트 속도 상승
ActiveID:=BlueStacks App Player ; 원하는 창 아이디 설정
CoordMode, Pixel, Relative ; 픽셀 위치 기준을 상대 좌표로 정함
CoordMode, Mouse, Relative ; 마우스 위치 기준을 상대 좌표로 정함
SetWorkingDir %A_ScriptDir%
WinWait, BlueStacks App Player,
IfWinNotActive, BlueStacks App Player, , WinActivate, BlueStacks App Player,
WinWaitActive, BlueStacks App Player,
; =========================================================================
;본문 시작 ===================================================================
imageSearchClick("image\모험입장.bmp") /* 이렇게 입력 했는데, 반응이 없는데 뭐가 문제 입니까? */
; =========================================================================
;이미지 서치
imageSearcher( ByRef imgX, ByRef imgY, img) {
??? global ActiveID
??? WinGetPos, winX, winY, winW, winH, %ActiveID%
??? ImageSearch, oX, oY, winX, winY, winX+winW, winY+winH, *70 %A_ScriptDir%\%img%
??? If ( ErrorLevel = 0){
??????? imgX := oX
??????? imgY := oY
??????? return 1
??? }
??? else If ( ErrorLevel = 1){
??????? return 0
??? }
}
;클릭
sendClick( x, y) {
??? global ActiveID
??? WinGetPos, winX, winY, winW, winH, %ActiveID%
??? SysGet, capH, 4 ; 캡션Height
??? SysGet, bordW, 32 ; 보더Width
??? SysGet, bordH, 33 ; 보더Height
??? px:=x-winX-bordW
??? py:=y-winY-bordH-capH
??? p := px|py<<16
??? PostMessage, 0x201, 0, %p%, , %ActiveID%
??? PostMessage, 0x202, 0, %p%, , %ActiveID%
??? Sleep, 200
??? Return
}
sendClick2( x, y) {
??? global ActiveID
??? SysGet, capH, 4 ; 캡션Height
??? SysGet, bordW, 32 ; 보더Width
??? SysGet, bordH, 33 ; 보더Height
??? px:=x-bordW/2
??? py:=y-bordH/2-capH
??? p := px|py<<16
??? PostMessage, 0x201, 0, %p%, , %ActiveID%
??? PostMessage, 0x202, 0, %p%, , %ActiveID%
??? Sleep, 200
??? Return
}
;서치앤클릭
imageSearchClick(img) {
??? If imageSearcher( x, y, img) = 1
??? {
??????? sendClick( x, y)
??????? Return 1
??? }
??? Return 0
}
;이미지 찾을때까지 대기
waitImage(img) {
??? Loop {
??????? If imageSearcher( x, y, img) = 1
??????? {
??????????? Break
??????? }
??????? Sleep, 500
??? }
??? Sleep, 200
??? Return
}
;이미지 찾을때까지 대기후 클릭
waitImageClick(img) {
??? Loop {
??????? If imageSearchClick( img) = 1
??????? {
??????????? Break
??????? }
??????? Sleep, 500
??? }
??? Sleep, 200
??? Return
}
CoordMode를 전체스크린으로 바꿔보세요