매크로

조회 수 4534 추천 0 댓글 13
SideSync 3.0으로 폰을 연결해서 테스트 중인데...?
이미지는 찾아지는데, 그 다음 sendClick 액션이 아무런 반응이 없습니다.?

3시간 동안 이런저런 테스트를 해봐도.. 무엇이 문제인지 모르겠으니.. 답답해 죽겠네요 ㅜㅜ
뭔가 잘못된 내용이 있나요?

소스는 아래와 같습니다.?

#NoEnv?
coordmode, pixel, screen
SetWorkingDir %A_ScriptDir%
SetTitleMatchMode, 2
ActiveID:="PSS"
WinActivate, %ActiveID%
WinGetActiveTitle, %ActiveID%

; ================================ 본문시작 =========================================

[:: ;start

main:

if(imageSearcher(x,y, "테스트.bmp")=1)
{
sendClick(x,y)
msgbox, 찾았다. 요놈!?
;MouseClick, l, 420, 450
}
else?
{
msgbox, 이미지가 안보여요.
}

]::pause
\::reload

; =============================== 함수선언 ==========================================

;이미지 서치
imageSearcher( ByRef imgX, ByRef imgY, img)?
{
? ? global ActiveID
? ? WinGetPos, winX, winY, winW, winH, %ActiveID%

? ? ImageSearch, oX, oY, winX, winY, winX+winW, winY+winH, *50 %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
}

  • theruin 2015.01.20 13:50

    WinTitle 이 일치하지 않아서 안되는거 같은데 확인한번 해보세요.

    클릭함수에서


    PostMessage, 0x201, 0, %p%, , %ActiveID%


    이거 전에 msgbox로?ActiveID 출력해서 확인한번해보세요

  • profile
    시나브로 2015.01.20 14:16
    음.. Msgbox, %ActiveID% 로 확인해보니.. PSS 로 정상적으로 나옵니다. ㅜㅜ
    뭐가 문제인지 참.. 갑갑하네요.
  • theruin 2015.01.20 14:29
    클릭하려는 창 타이틀이 pss 인가요? 지니모션이 아닌가 보네요. 지니모션이 아니라면 controlclick으로 한번 해보세요. posetmessage가 안 먹히는 것일수도 잇어요
  • profile
    시나브로 2015.01.20 15:05
    네. 창 타이틀이 PSS 입니다.

    그리고 controlclick 은 제가 생소해서 그런데.. 위 스크립트에서 적용하려면,

    if(imageSearcher(x,y, "테스트.bmp")=1)
    {
    ControlClick , x%X% y%Y%, PSS
    }

    이런 형태가 되면 되나요?
  • theruin 2015.01.20 15:19
    사용법은 맞는데 좌표는 계산을 해줘야될겁니다. Client 좌표 사용해야 될겁니다. 클릭함수에서 px,py값 넣으시면 될거에요
  • profile
    시나브로 2015.01.20 15:28
    으아아아아!! 드디어 됩니다. ㅜㅜ
    Client 값 넣어주니.. 클릭하네요.. 감사합니다..ㅜㅜ

    if(imageSearcher(x,y, "테스트.bmp")=1)
    {
    ControlClick , x420 y450, PSS
    msgbox, 찾았다. 요놈!
    }
    else
    {
    msgbox, 이미지가 안보여요.
    }
  • theruin 2015.01.20 15:33
    postmessage 안되고 controlclick 만 되는건가요? 역시 그런건가요!!
  • profile
    시나브로 2015.01.20 15:37
    그런가봐요 ㅜㅜ

    ControlClick , x420 y450, %ActiveID% 도 잘되네요!
    덕택에 해결했습니다.

    감사합니다~!
  • 깨꿍 2015.01.20 14:30

    sendClick()함수에서 클릭하는 좌표가 찾은이미지 왼쪽위 꼭지점이네요.

    해당 부분이 클릭이 안되는 지점이거나....흠...하여간...

    혹시 모르니 왼쪽위 꼭지점에서 x,y좌표를 살짝씩만 안으로 값을 변경해보세요.

    px:=x-winX-bordW/2???? ;좌우보드(테두리)값의 절반만큼 우측으로

    py:=y-winY-bordH/2-capH? ; 상하보드(테두리)값의 절반만큼 아래쪽으로

    px:=x-winX-bordW/3

    py:=y-winY-bordH/3-capH
    요런식으루요.

    그런데...함수에 imageSearchClick(img)가 있는데 일부러 테스트하시는건가요?
    다음처럼 줄일수 있어요.

    if imageSearchClick("테스트.bmp")=1?? ;찾아서 클릭한 후 값리턴이 1이라면
    ???? msgbox, 찾아서 클릭했네?
    else????????????????????????????????????????????????????? ;이미지 못찾은경우
    ???? msgbox, 얼래 이미지 어디간겨?

    그리고...테스트하는 창이 안드로이드 에뮬레이터라면 설정의 개발자환경에서 터치포인트 체크하고 확인해보세요.

  • profile
    시나브로 2015.01.20 14:49
    좌표가 문제가 있나 싶어서..
    이미지도 다른것들로 교체도 해보고..
    좌표값이 문제인가 싶어서 수정도 해보고 했는데..그래도 무반응이네요.

    말씀하신대로 if imageSearchClick("테스트.bmp")=1 로 테스트해봐도, msgbox 는 찾아서 클릭했네? 가 뜹니다.
    그런데 실제로 클릭이 되지는 않네요. ㅜㅜ

    아.. 어제부터 완전 답답합니다..
  • 깨꿍 2015.01.20 14:51

    그럼...결국 PostMessage가 안먹힌다는 얘기밖에 안되네요.

    혹시 모르니 타이틀(activeid) 자리를 ahk_id %id%로 바꿔보세요.

    그전에 id := WinExist("PSS")

    그런데...어떤 윈도우창인데 그러죠?

  • profile
    시나브로 2015.01.20 14:55
    sidesync 3.0 으로 연결한 핸드폰 화면입니다.
  • 깨꿍 2015.01.20 15:12
    sidesync는 사용해보질 않아서 모르겠군요.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 변수에 관한 질문 5 파더 2014.11.30 0/0
질문 몬스터 길들이기 패치후에. 4 페르니코 2017.12.18 0/0
질문 스크립트 좀더 간략하게 작성방법이 있을까요. 8 우후훅 2014.12.04 0/0
질문 지니모션은 인터넷에 돌아다니는거아무거나사용해도되... 2 튀니지사람들 2014.12.02 0/0
질문 혹시 1004 매크로 1920 * 1080 해상도를 세나에 맞춰 ... 인사왕바이킹 2014.12.01 0/0
질문 어떤 이미지를 찾을때 같은 이미지가 있을때 대한 처리 7 프로구라머 2014.12.07 0/0
질문 리스트박스 관련질문 4 파더 2014.12.03 0/0
질문 체크박스 if 에대해서 6 파더 2014.12.04 0/0
질문 오토핫키 이미지서치좀 봐주세요ㅡ모비즌연동 8 뀨잉여기좋아 2014.12.05 0/0
질문 숫자인식 소스 해석 부탁드립니다 1 notes5 2016.08.03 0/0
질문 1004매크로 1 dlalsrb86 2014.12.04 0/0
질문 VMProtect Unpack 17 외치기 2017.03.19 0/0
질문 변수로 저장된 값마다 터치위치를 변경하고싶을때..어... 2 파더 2014.12.05 0/0
질문 오랜만의 질문 1 가지~!!! 20 파더 2014.12.08 0/0
질문 질문하나합니다.. 2 dsaf3 2014.12.10 0/0
질문 몽길이 메클 질문드립니다... 1 헬로시드니 2014.12.09 0/0
질문 절전모드 전부 해제 시켰는데도 잘 때 매크로가 멈추네요 2 FKILLER 2014.12.14 0/0
질문 오토핫키가 다루기가 어려울까요? 7 그냥그래요 2014.12.13 0/0
질문 오토핫키 실행시키고.......... 3 맹물도사 2014.12.11 0/0
질문 비활성매크로 PostMessage 사용 시 클릭이 안되는 문제 13 시나브로 2015.01.20 0/0
Board Pagination Prev 1 ... 67891011121314 ... 173 Next
/ 173

전체 최신 인기글

전체 주간 인기글