CoordMode, Pixel, Screen
WinGetPos, Pos_x, pos_y, width, height, 앱플레이어
x_right := width + Pos_x
y_bottom := height + Pos_y
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\1.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\2.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(633, 321) ←여기좌표
Sleep, 1000
}
ImageSearch, foundx, foundy, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *50 %A_ScriptDir%\Image\5.bmp
if (ErrorLevel = 0)
{
비활성왼쪽클릭(foundx, foundy)
Sleep, 100
클리어횟수 := 클리어횟수 + 1
Gui,Submit,NoHide
GuiControl, , B, %클리어횟수% 회
}
{
break
}
}
}
return
비활성왼쪽클릭(x좌표, y좌표)
{
WinGetPos, w_x, w_y, w_w, w_h, 앱플레이어
내부좌표x := x좌표 - w_x
내부좌표y := y좌표 - w_y
lparam := 내부좌표x|내부좌표y<<16
PostMessage, 0x201, 1, %lparam%, ,앱플레이어
PostMessage, 0x202, 0, %lparam%, ,앱플레이어
Sleep, 1000
}
열심히 배우고있는 초보입니다!
위처럼 했을때 2번 이미지를 찾아을때 저기 좌표를 클릭을 안하네요?
무엇이 문제일까요?
아마 좌표가 오버되서 그럴듯 합니다.
위의 경우 창의 시작좌표가 0,0이 아니면 클릭이 안되는 경우가 종종 발생할 수 있습니다.
아래와 같이 쓰시면 좌표가 오버되거나 -가 되는 경우 정해진 숫자값을
좌표조정없이 클릭해서 문제를 해결해줍니다.
비활성왼쪽클릭(x좌표, y좌표)
{
WinGetPos, w_x, w_y, w_w, w_h, 앱플레이어
내부좌표x := x좌표 - w_x
내부좌표y := y좌표 - w_y
최대좌표x := w_x + w_w
최대좌표y := w_y + w_h
if (내부좌표x < 0 || 내부좌표y < 0 || 최대좌표x < 내부좌표x || 최대좌표y < 내부좌표y)
{
내부좌표x := x좌표
내부좌표y := y좌표
}
lparam := 내부좌표x|내부좌표y<<16
PostMessage, 0x201, 1, %lparam%, ,앱플레이어
PostMessage, 0x202, 0, %lparam%, ,앱플레이어
Sleep, 1000
}