매크로

조회 수 580 추천 0 댓글 18

우선 @파더 님깨 감사의 말씀을.. 테일스타 찾아가 오토핫키 커뮤니티를 이제 발견했습니다 여기서 공부 많이 할게요 ~


가상 지니모션 프로그램 구동을 위한 스크립트 입니다

1, postmessage 클래스 경로가 확실한지 잘 모르겠구요 ~

이상태로 실행을 하면 이미지 인식은 잘 되어서 found!/not found 메시지 박스는 잘 출력 됩니다.


2.좌표가 문제인거 같은대 알기 쉽게 설명좀 부탁드릴게요 ~ ㅠㅠ 제 지식이 짧습니다..


3.해당 좌표 172,81 은 활성화시킨 지니모션창 안에서의 좌표 입니다. 오차가 있더라도 개발자 옵션의 포인터 위치를 켜뒀기 떄문에 클릭 된 곳을 알 수 있어야 하는대 아무 클릭이 되지 않아 질문 남깁니다.


감사합니다.


F1::

SetTitleMatchMode, 1
WinActivate, Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.102
WinSetTitle, Genymotion


ImageSearch, x1, y1, x2, y2, 1920, 1080, *50 C:\Users\steel\Desktop\photo/2.bmp


if errorlevel = 0
{
?N:=172|81<<16
?ax:=x1-X-8
?ay:=y1-Y-30

?PostMessage, 0X201, 1, %N%, ,Genymotion

?PostMessage, 0X202, 0, %N%, ,Genymotion
?
?MsgBox, found !
}


if errorlevel = 1
{
?MsgBox, not found
}

return


  • theruin 2015.01.17 12:48
    wintitle =?Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.102
    WinActivate, %wintitle%
    WinSetTitle, %wintitle% , ,Genymotion
  • 도비123 2015.01.17 12:52

    @theruin 님 일단 감사합니다. 지식이 짧아서 그런대 ~ 적어주신 스크립트를 포함 시켜라는 말씀이신가요~? 해볼게요 ㅎ

  • theruin 2015.01.17 12:57
    WinActivate, Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.102
    WinSetTitle, Genymotion

    이부분을 위 댓글로 바꾸어서 해보세요
  • 도비123 2015.01.17 13:03

    네 바꿔봤습니다.. 허나 지니모션에 입력 메시지는 안들어가네요 ㅠㅠ


    알려주신대로 바꿔보니깐 지니모션 상태창 이름이 간결하게 바뀌었네요 ㅎㅎ 놀랍습니다 ㅎㅎ


    이미지인식을 시킨건 확인되는대 마우스 터치가 여전히 먹통입니다..

  • theruin 2015.01.17 13:12
    음..되는거 확인했는데 이상하네요. 방법을 바꿔보죠.

    PostMessage, 0X201, 1, %N%, ,ahk_class QWidget
    PostMessage, 0X202, 0, %N%, ,ahk_class QWidget

    이렇게 바꿔 보세요
  • 도비123 2015.01.17 13:11
    @theruin 님 아 됩니다 !! 비활성 터치 !!

    감사합니다 ㅎㅎ 제가 잘못한게있었군요 ㅎㅎ 덕분에 감사합니다? ! 계속 공부해볼게요 ~

  • 도비123 2015.01.17 13:18

    @theruin 님 한번만 봐주시겠어요?

    지니모션 이름 바꾸고 정해진 공간에서 실행 시킬려고 하는대 winmove를 어떻게 써야 할지 잘 모르겠습니다. .

    그리고 이것저것 스크립트가 많은대 정리 가능한건 정리부탁드려볼게요 ~



    F1::

    SetTitleMatchMode, 3

    wintitle = Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101
    WinActivate, Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101
    WinSetTitle, %wintitle% , ,Genymotion
    WinMove, %Genymotion%, , , , 400, 380


    ImageSearch, x1, y1, x2, y2, 1920, 1080, *50 C:\Users\steel\Desktop\photo/2.bmp

    if errorlevel = 0
    {
    ?N:=172|81<<16

    ?PostMessage, 0X201, 1, %N%, ,Genymotion

    ?PostMessage, 0X202, 0, %N%, ,Genymotion
    ?
    ?MsgBox, found !
    }


    if errorlevel = 1
    {
    ?MsgBox, not found
    }

    return

  • theruin 2015.01.17 13:27

    400, 380 위치로 창을 옮기는 건가요?

    WinMove,?%wintitle%, , 400, 380

    WinSetTitle, %wintitle% , ,Genymotion

  • 도비123 2015.01.17 13:39

    @theruin 님 일단 동작은 확실히 합니다 ! 감사합니다 !

    창이동은 뭔지모르겠지만 잘 안되는거 같습니다.. 그리고 터치 한번 후 다음 터치가 잘 안되는 거 같습니다.

    한번봐주시겠습니까?


    F1::

    SetTitleMatchMode, 3
    wintitle = Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101
    WinActivate, Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101
    WinMove, %Genymotion%, ,800, 800
    WinSetTitle, %wintitle% , ,Genymotion


    ImageSearch, x1, y1, x2, y2, 1920, 1080, *50 C:\Users\steel\Desktop\photo/4.bmp

    if errorlevel = 0
    {
    ?N:=621|408<<16

    ?PostMessage, 0X201, 1, %N%, ,Genymotion

    ?PostMessage, 0X202, 0, %N%, ,Genymotion
    ?
    }

    Sleep, 1000


    if errorlevel = 1
    {
    ?MsgBox, not found
    }

    sleep, 1000
    return


    ImageSearch, x1, y1, x2, y2, 1920, 1080, *50 C:\Users\steel\Desktop\photo/5.bmp

    if errorlevel = 0
    {
    ?N:=33|94<<16

    ?PostMessage, 0X201, 1, %N%, ,Genymotion

    ?PostMessage, 0X202, 0, %N%, ,Genymotion
    ?
    ?MsgBox, found
    ?
    }

    sleep, 1000

    if errorlevel = 1
    {
    ?MsgBox, not found
    }

    sleep, 1000
    return

  • theruin 2015.01.17 13:53
    PostMessage 사용시 타이틀을 넣어서 하셔서 문제가 되는듯한데 타이틀을 사용하지 마시고 ID를 쓰세요

    wintitle = Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101
    WinGet, ActiveID, ID, %wintitle%
    WinActivate, %wintitle%
    WinMove, ahk_id %ActiveID%, ,800, 800



    PostMessage, 0X201, 1, %N%, ,ahk_id %ActiveID%
    PostMessage, 0X202, 0, %N%, ,ahk_id %ActiveID%
  • 도비123 2015.01.18 05:50

    @theruin 님 감사합니다 ~ 이거 한번만 봐주시겠습니까? 터치는 분명 되는대 그 다음 터치 할려면 스크립트를 어떻게 짜야하는지 의문입니다. 말씀해주신대로 하면 지니모션 실행창 이름이 바뀌고 일정한 위치로 날라가서 실행은 잘 되는대요 ~ 첫번쨰 터치 이후 두번째 터치는 감감무소식 입니다 뭐가 잘 못 된걸까요? 따끔한 지적 부탁드립니다.


    F1::


    wintitle = Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.102
    WinGet, activeid, id, %wintitle%
    WinActivate, %wintitle%
    WinMove, ahk_id %activeid%, ,1002, 19
    WinSetTitle, %wintitle% , ,Macro



    Sleep, 1000

    ImageSearch, x1, y1, 0, 0, 1920, 1080, *50 C:\Users\steel\Desktop\photo/2.bmp

    if errorlevel = 0
    {
    ?N:=621|408<<16

    ?PostMessage, 0X201, 1, %N%, ,ahk_id %activeid%

    ?PostMessage, 0X202, 0, %N%, ,ahk_id %activeid%
    ?

    }

    Sleep, 1000


    if errorlevel = 1
    {
    ?MsgBox, not found
    }

    sleep, 1000
    return

    Sleep, 1000

    ImageSearch, x1, y1, 0, 0, 1920, 1080, *50 C:\Users\steel\Desktop\photo/3.bmp

    if errorlevel = 0
    {
    ?N:=621|408<<16

    ?PostMessage, 0X201, 1, %N%, ,ahk_id %activeid%

    ?PostMessage, 0X202, 0, %N%, ,ahk_id %activeid%
    ?

    }

    Sleep, 1000


    if errorlevel = 1
    {
    ?MsgBox, not found
    }

    sleep, 1000
    return



  • profile
    테스하자 2015.01.18 07:31
    sleep, 1000
    return
    Sleep, 1000

    return을 빼세요
  • 도비123 2015.01.18 17:29

    @테스하자 님 감사합니다? ~ 다음터치는 하는거 같긴한대 .. 혹시 아래 스크립트좀 봐주실 수 있나요~?

    이미지 인식후 정해둔 좌표를 클릭 후 다음 이미지 인식후 정해둔 좌표를 클릭 시킬려는 단순한(?) 스크립트 입니다.

    그리고 궁금한게 지니모션을 Macro라는 창이름 이름으로 바꾼후?터치만 제가 컨트롤 하고 싶은대 자꾸 처음으로 돌아가서 창이름을 아예 인식못해서 이상하게 꼬여버리는대요.. 좋은 방법 있을까요??


    F1::


    wintitle = Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101
    WinGet, activeid, id, %wintitle%
    WinActivate, %wintitle%
    WinMove, ahk_id %activeid%, ,1002, 19
    WinSetTitle, %wintitle% , ,Macro


    Sleep, 1000

    ImageSearch, x1, y1, 0, 0, 1920, 1080, *50 C:\Users\steel\Desktop\photo/4.bmp

    if errorlevel = 0
    {
    ?N:=621|408<<16

    ?PostMessage, 0X201, 1, %N%, ,ahk_id %activeid%

    ?PostMessage, 0X202, 0, %N%, ,ahk_id %activeid%
    ?
    }

    Sleep, 1000

    if errorlevel = 1

    sleep, 5000


    ImageSearch, x1, y1, 0, 0, 1920, 1080, *50 C:\Users\steel\Desktop\photo/5.bmp

    if errorlevel = 0
    {
    ?N:=34|94<<16

    ?PostMessage, 0X201, 1, %N%, ,ahk_id %activeid%

    ?PostMessage, 0X202, 0, %N%, ,ahk_id %activeid%
    ?
    }

    Sleep, 1000

    if errorlevel = 1
    {
    ?MsgBox, not found
    }

    sleep, 1000
    return


  • profile
    테스하자 2015.01.18 17:53

    wintitle = Genymotion for personal use - T-900 test (480x800, 120dpi) - 192.168.116.101

    WinGet, activeid, id, %wintitle%
    WinActivate, %wintitle%

    WinMove, ahk_id %activeid%, ,1002, 19

    WinSetTitle, %wintitle% , ,Macro


    F1::


    이 부분을 F1:: 밖으로 빼시면 될거 같네요.


  • 도비123 2015.01.18 19:00

    와우,, 이렇게 간단하게 ㅎㅎ 감사합니다 @테스하자 님 ~ 하나만 더 물어볼게요 ~


    비활성 postmessage 관련 질문인대요 ~ 이미지는 잘 찾았는대 클릭을 못하네요 ㅠ 뭔가 스크립트에 문제라도 있는지 봐주시겠어요??

    wintitle = Genymotion for personal use - T-1000-hero (480x800, 120dpi) - 192.168.116.101
    WinGet, activeid, id, %wintitle%
    WinActivate, %wintitle%
    WinMove, ahk_id %activeid%, ,1002, 19

    Sleep, 1000


    F1::


    gosub, 파티관리


    파티관리:

    Imagesearch, FoundX, FoundY, 0, 0, 1920, 1080, *50 C:\Users\steel\Desktop\photo/파티관리.bmp
    if errorlevel = 0
    {
    ?
    ?
    ?X1:=39
    ?Y1:=443
    ?
    ?N:=X1|Y1<<16
    ?
    ??? PostMessage, 0X201, , %N%, ,ahk_id %wintitle%
    ??? PostMessage, 0X202, , %N%, ,ahk_id %wintitle%
    ?
    ?
    ??? sleep,3000
    ???
    ?
    ?
    ??? goto, 파티1
    }

    else
    {
    ?MsgBox, not found
    }



    파티1:

    Imagesearch, FoundX, FoundY, 0, 0, 1920, 1080, *50 C:\Users\steel\Desktop\photo/파티관리.bmp
    if errorlevel = 0
    {
    ?MsgBox, found 파티1
    }

    else
    {
    ?MsgBox, not found 파티1
    }

  • profile
    테스하자 2015.01.18 19:33
    http://w3tech.tistory.com/212
    한번 보시는게 좋을거 같습니다.
  • profile
    외치기 2015.01.19 09:27

    ? ??PostMessage, 0X201, , %N%, ,ahk_id %wintitle%?

    ? ??PostMessage, 0X202, , %N%, ,ahk_id %wintitle%?

    이부분을 밑에처럼 바꿔야하지 않을까요?

    물론 테스하자님이 올리신 좌표관련도 반영하셔야하고요.


    ??? PostMessage, 0X201, , %N%, ,ahk_id %activeid%

    ? ? PostMessage, 0X202, , %N%, ,ahk_id %activeid%

  • 도비123 2015.01.19 16:26

    @테스하자
    @외치기


    능력자 두분 다 감사합니다 ~ ㅎㅎ 잘 해결하였고 ~ 지금은 loop 문에 도전 중입니다 ㅎㅎ

    천천히 다시 해볼게요 ~ 감사합니다


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 역시 더미다로 패킹을 하면 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
질문 이미지서치와 해상도 변경에 대해서.. 3 시나브로 2015.01.15 0/0
질문 스크립트 편집 뭐로 하세요? 17 시나브로 2015.01.18 0/0
질문 컴파일된 프로그램의 트레이 아이콘 2 Hangoon 2015.01.15 0/0
질문 키를 눌러서 영지선택후 나중에 자동입장??(고수님 답... 9 여우블록 2015.01.22 0/0
질문 이미지 서치가 안되네요! 13 시니짱 2015.09.23 0/0
Board Pagination Prev 1 ... 188189190191192193194195196 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글