매크로

조회 수 4539 추천 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는 사용해보질 않아서 모르겠군요.

최근 추천글

오핫 제작합니다 1 설입 2024-06-18 23:45 +1
List of Articles
분류 제목 글쓴이 최근변경 추천
질문 타이틀설정 어찌하나요?? 7 낭군이 2015.01.26 0/0
질문 이지미 서치 할때요 3 PMS 2015.01.20 0/0
질문 비활성 마우스클릭 질문이요~ 9 PMS 2015.01.22 0/0
질문 비활성매크로 PostMessage 사용 시 클릭이 안되는 문제 13 시나브로 2015.01.20 0/0
질문 배움의 1일차인데. 이미지서치를 이용한 postmessage ... 10 두근이 2015.04.25 0/0
자유 역시 더미다로 패킹을 하면 1분도 안돼서 풀수있네요 ^ 6 캔디염 2015.01.19 0/0
질문 이미지 서치 문의입니다. 1 보득 2015.01.19 0/0
자유 노트북 해상도 안맞아서 불편하네요 ㅜ 3 그을린요강 2015.01.19 0/0
질문 별이되어라 오토핫키 스크립트 구할수 없나여? 2 김곰돌 2015.02.04 0/0
질문 핸콕님 매크로 2캐릭 매크로로 하려면 어떻게해야하나... 8 닉넴없다 2015.03.08 0/0
질문 노트북에서 이미지서치가 안됩니다... 3 yodda 2015.01.19 0/0
자유 쓸대없이 자꾸 줄수만 늘어나는 기분...qㅜㄴ 12 파더 2015.01.20 1/0
질문 loop질문 제발좀 . 2 제발등업좀2 2015.01.19 0/0
질문 postmessage 관련 따끔한 지적 부탁드립니다. 18 도비123 2015.01.19 0/0
정보 지니모션 드래그 함수 1 연구원 2015.01.21 1/0
질문 오토핫키좀 배워보려합니다 6 PMS 2015.01.23 0/0
질문 아래 글에 이어 이미지서치 질문드려요~ ㅠㅠ 13 시니짱 2015.01.17 0/0
질문 이미지서치 관련 질문드립니다 ㅠㅠ 제발등업좀2 2015.01.16 0/0
정보 지니모션 테마 및 윈도우 버전 상관없이 해상도 변경하... 로뎀나무 2015.01.16 2/0
자유 이미지서치의 인식률 값 관련 질문 2 Hangoon 2015.01.16 0/0
Board Pagination Prev 1 ... 188189190191192193194195196 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글