매크로

조회 수 590 추천 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 쿠우우우우 2018.06.04 0/0
질문 특정키를 누르면 다른 키매크로가 정지되게 하는 법 알... 5 빈스3678 2015.05.25 0/0
질문 특정키 누르면 edit창에 추가하기 5 fnwj 2015.08.15 0/0
질문 특정좌표안에 마우스이동 5 흑콘 2016.05.13 0/0
질문 특정이미지 서치시 파일실행 해주는 스크립트가 궁금합... 2 딩딩이 2018.11.17 0/0
질문 특정위치 클릭 방법 질문 드리겠습니다. 5 까스배달소년 2016.03.29 0/0
질문 특정시간이 되면 작동하게 하는법좀 알려주세요. 3 흑콘 2015.05.08 0/0
질문 특정색만 찾아서 이미지서치가 가능할까요? 3 HyunsD 2018.10.10 0/0
질문 특정부분빼고 모니터가리기 _Crash 2015.04.24 0/0
질문 특정문자옆 문자찾기 알고싶습니다 7 영웅거북 2015.05.29 0/0
자유 특정맵 자동사냥 매크로 제작 의뢰드립니다. 고고구구 2023.02.24 0/0
질문 특정구역 설정 방식을 하드웨어로? 봄꽃바람 2020.12.09 0/0
자유 특정게임 매크로 작동안되는것들이 문제죠. 6 우후훅 2014.11.15 0/0
질문 특정 프로그램이 실행 될때까지 기다리는 명령어가 있... 2 행선지는토성 2019.01.20 0/0
질문 특정 프로그램에서 앱솔루트 좌표가 안찍히는경우 쉬르릴 2017.07.06 0/0
자유 특정 프로그램에서 blockinput 명령어가 안먹혀요 ddfa4 2016.01.06 0/0
질문 특정 텍스트파일의 내용을 복사해서 붙여넣는 방법이 ... 2 고영민 2018.06.01 0/0
질문 특정 창에서 특정 좌표 클릭하는 방법 질문 4 정떤 2016.05.09 0/0
질문 특정 이미지 발견시 폰으로 알림메세지를 보내고 싶은... 1 xmen 2015.11.16 0/0
질문 특정 위치 문자 추출 도움 부탁드립니다 2 반디펑 2020.08.09 0/0
Board Pagination Prev 1 ... 111213141516171819 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글