오토핫키 커뮤니티

조회 수 4554 추천 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
분류 제목 글쓴이 최근변경 추천
자유 [AutoPM Ver1.56] 포켓메이플스토리, 자동스킬 및 물약... 11 은다 2016.07.12 1/0
자유 초보자가 배우기 쉬운 강좌같은거 없나요 4 아잉2 2015.01.26 1/0
자유 쓸대없이 자꾸 줄수만 늘어나는 기분...qㅜㄴ 12 파더 2015.01.20 1/0
정보 레이븐 블루스택용 소스8탄 - 필요하신분쓰세요 추천X 4 T7GG 2016.11.14 1/0
정보 지니모션 드래그 함수 1 연구원 2015.01.21 1/0
자유 슬 저도 그림이 그려져가네요 10 valum 2015.04.10 1/0
정보 별이되어라 색값 보정 함수선언.. 2 로뎀나무 2015.03.26 1/0
자유 좋은 매크로 소개 받았는데... 14 미고사 2015.06.08 1/0
정보 호성님 무한인증 뜨시는분 팁 4 우아아앙이잉 2015.01.06 1/0
질문 몬길 2개 다중 매크로 돌리기 질문드려요. 9 간부은녀석 2015.03.27 1/0
정보 도움이 될까 해서 올려봅니다 11 울버린 2015.01.02 1/0
자유 색상이 계속 변하는 경우에 PixelGetColor을 사용한 대응 6 내머리가별 2014.12.25 1/0
자유 지니모션 화면 숨기기 또는 최소화 방법? 별되하는사람 2014.12.24 1/0
질문 비활성으로 마우스 조작법에 대해 문의드려요 3 디벨로퍼 2014.12.17 1/0
질문 오토핫키 매크로 사용하기 어려울까요?? 6 얌마얌마얌 2014.12.16 1/0
질문 이미지서치 내것에선 잘되고 남것은 안되는경우? 11 파더 2014.12.15 1/0
질문 와 ,,,핫오토키는 뭔가여... 3 찬쓰찬쓰 2014.12.12 1/0
정보 그리기 / DRAW / GDIP 화면에 선 도형 그리기 (예제) 4 따기따기 2024.08.09 1/0
자유 파더님 3 외치기 2014.11.29 1/0
정보 타이머 샘플입니다. 3 모바게 2014.11.28 1/0
Board Pagination Prev 1 ... 67891011121314 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글