매크로

간단한 클릭으로 매크로 사용중이였습니다..오토핫키라를 접하고 공부해서 재대로 한번 짜볼려고 하는데

첫판부터 난관에 걸렸네요..특정창에서만 클릭및 좌표가 먹히게 하고 싶은데 방법을 못찾겠습니다.

제가 풀어야될 문제부터 설명해 드릴께요..ㅠㅠ

https://i.imgur.com/4CC3JK6.png

윈드로이 창에서만 클릭이 먹히는거에요..인터넷을 열심히 찾아봤는데 몰라서 그런지 도저히 이해가 안가더라구요..ㅠㅠ



2.?윈드로이창안에서 ?이미지서치를 통해서 해당아이콘을 클릭하는거에요..ㅠㅠ

https://i.imgur.com/41P3Hls.png

그러면 어느정도 순서를 잡을수 있을꺼 같은데 첨부터 만든다는게 문제가 많네요..이렇게 태어나서 첨으로 올려봅니다..


멋진 회원님들의 댓글 기다릴께요..헬프~~~미1_47.gif1_47.gif1_47.gif1_47.gif1_47.gif1_47.gif


  • _Crash 2015.05.11 19:02

    #IfWinActive,윈드로이


    imagesearch,ax,ay,0,0,1024,768,*30 images.bmp

    if errorlevel = 0

    {

    mouseclick,left,ax,ay

    }

  • profile
    YOON'S 2015.05.12 10:04
    감사합니다..한번 돌려보고 문제있으면 댓글 달께요..^^
  • 잠깐만요 2015.05.12 10:15
    윈드로이가 활성화되어있을 경우에만
    이미지 서치를 하고
    그 이미지를 찾으면
    마우스을 이동시킨후 클릭하는겁니다.

    이 경우 다른작업을하며 매크로를 돌릴수 없습니다.
  • 잠깐만요 2015.05.12 10:36

    #IfWinActive,윈드로이
    - 이 부분을 지우면 윈드로이가 활성화상태가 아니어도 이미지서치가 가능합니다.
    하지만 윈도우 화면상에 윈드로이창이 다른것에의해 가려져있으면 안됩니다.
    비활성이미지서치라고 윈도우화면 밖에 있어도 이미지서치가 가능한게 있는거 같던데
    이건 너무 어렵더라구요. 전 듀얼모니터로 매크로 돌아가는 창은 따로 쓰고있습니다.


    imagesearch,ax,ay,0,0,1024,768,*30 images.bmp
    - ax, ay
    이미지를 찾았을경우의 왼쪽 위에 좌표를 ax, ay로 반환합니다.
    - 0,0,1024,768
    이미지 서치할 좌표입니다. 숫자를 넣어 특정위치만 해도 좋지만 변수를 넣어 위치가 변화되어도
    항상 찾을수 있도록 하는것도 좋습니다. (전 베스트 팁에있는 성운이님의 매크로를 참고했습니다.)
    - *30
    오차범위
    - images.bmp
    찾고자하는 이미지(찾고자하는 이미지의 경로를 넣어줍니다.)

    if errorlevel = 0
    - 이미지를 찾았슬경우에 이 명령을 실행합니다.

    mouseclick,left,ax,ay
    - 마우스를 이동시켜 ax, ay좌표의 마우스왼쪽클릭
    - PostMessage 라는게 있습니다.
    이건 마우스를 이동시키는게 아닌 비활성상태에서 사용가능한 함수입니다.
    매크로를 돌리실경우 다른작업도 하는경우가 대부분이기에 이 함수에대해서 알아보세요.

    Coor := x | y<<16
    PostMessage, 0x201, 1, %Coor%,, BlueStacks App Player
    sleep, 50
    PostMessage, 0x202, 0, %Coor%,, BlueStacks App Player

    이건 클릭방법입니다.

    Coor := x | y<<16
    - 좌표설정
    윈도우상의 좌표가 아닌 실행하고자하는 타이틀의 좌표를 잡아주어야합니다.

    0x201
    - 마우스왼쪽누름

    0x202
    - 마우스왼쪽땜

    sleep, 50
    - 0.05초간 대기

    BlueStacks App Player
    - 실행하고자하는 타이틀명,(윈드로이 쓰시면됩니다.)

  • profile
    YOON'S 2015.05.12 10:39
    와우..!! 감사합니다..ㅎㅎ
  • profile
    YOON'S 2015.05.12 10:39
    저도 듀얼 써서 윈드로이창을 뛰우고 다른작업을 진행하거든요..감사해요..한번 진행해 보고 문제점 있음 여쭤볼깨요..^^
  • 잠깐만요 2015.05.12 10:42
    설명은 이렇게 했지만 여기서 이해 안되시는건 저도 설명 못합니다.
    조금은 더 설명해줄수있지만 전 오토핫키 중수정도이기에...;;
    이해 안되시는건 커뮤니티를 돌아다니며 찾아보던가 네이버에서 그 함수명을 치셔도 어느정도 설명은 나와있습니다.
  • profile
    YOON'S 2015.05.12 15:47
    일단 윈드로이창에 클릭은 되는걸로 진행이 되네요..근데 이미지서치는 적용이안된는거 같아요..어먼데가 클릭이 되서요..ㅎㅎ 나머지는 정보검색으로 맞춰보겠습니다. 감사해요~
  • 잠깐만요 2015.05.12 16:42
    어디에 클릭되세요? 완전 다른곳? 아님 바로 밑에??
  • profile
    YOON'S 2015.05.12 19:57
    완전 다른곳이에요..ㅎㅎ
  • 잠깐만요 2015.05.12 20:19

    imagesearch, x, y, 0, 0, 1024, 768, *30 images.bmp


    Coor := x | y<<16
    PostMessage, 0x201, 1, %Coor%,, BlueStacks App Player
    sleep, 50
    PostMessage, 0x202, 0, %Coor%,, BlueStacks App Player


    이런식으로 하신거 같은데

    이미지서치시 검색된 좌표는 윈도우상의 좌표입니다.

    PostMessage에 넣어야할 좌표는 윈드로이 왼쪽위부터가 시작점입니다.


    윈드로이가 윈도우상에 100(a), 200(b) 위치에 있고

    이미지서치로 검색된 좌표가 450(c), 450(d)이라면

    PostMessage에 넣어야할 좌표는 350(c-a), 250(d-b)입니다.

    이런식으로 윈드로이의 좌표를 빼주어야하기때문에

    윈드로이 위치가 이동할경우 계산해야될 좌표를 계속해서 바꿔주어야합니다.

    그렇기때문에 x, y, 0, 0, 1024, 768 이것들을 변수로 넣고 함수를 만들어서 쓰는것이 좋습니다.


    http://tailstar.net/macro_nebula/6058654

    성운이님이 소스 공개해주신거 주소입니다.

  • profile
    YOON'S 2015.05.12 20:45
    x, y, 0, 0, 1024, 768 여기서 1024 768은 윈드로이창의 크기인가요???
  • 잠깐만요 2015.05.12 21:21
    아니요. 윈도우크기입니다. 이건 위에분 댓글을 예로 들었습니다.
    윈도우 좌표 0, 0에서 1024, 768까지를 나타낸 것으로 모니터 전체화면인거 같아요.
    님껀 모니터 크기가 다르다면 다를겁니다. 듀얼모니터 쓰신다니 더 크실꺼에요.

    이건 성운이님이 올려주신 소스 일부에서 제가 쓸려고 수정한겁니다.
    WinGetPos, X, Y, W, H, BlueStacks App Player
    posX := X
    posY := Y
    width := W
    height := H
    appWidth := posX + width
    appHeight := posY + height

    ImageSearch, vX, vY, posX, posY, appWidth, appHeight, *50 %A_ScriptDir%\img\%ImageName%
    if (ErrorLevel = 0)
    {
    clickX := vX - posX
    clickY := vY - posY
    return true
    }

    x := clickX - wFrame + 6
    y := clickY - wCaption - wFrame + 6
    Coor := x | y<<16
    PostMessage, 0x201, 1, %Coor%,, BlueStacks App Player
    sleep, 50
    PostMessage, 0x202, 0, %Coor%,, BlueStacks App Player

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 질문] 요일 및 시간 범위 ? 2 제발등업좀2 2016.02.13 0/0
질문 질문)매크로는알겟는데 3 젬스톤광부 2018.08.31 0/0
질문 질문) 매크로방지 퀴즈 푸는법 5 fov35 2019.07.05 0/0
질문 질문 하나 더요 1 버철 2016.05.18 0/0
질문 질문 질문 질문 질문 질문 문질 문질 문질 10 파더 2014.11.28 0/0
질문 질문 있습니다...!! 함봐주십시요 굽신굽신.. 15 제발등업좀2 2015.07.10 0/0
질문 질문 드립니다...T^T 도와주세요... 8 앞프론뒷태 2015.01.03 0/0
질문 질문 드립니다. 자료형?? 1 알프리 2015.11.13 0/0
질문 질문 드립니다. 굽신굽신 (--)(__)(--) ~♡♡♡♡♡♡ 5 제발등업좀2 2022.12.14 0/0
질문 질문 드립니다. 고수분 답변 부탁 드려요 3 빈대왕 2014.10.10 0/0
질문 질문 드립니다. 4 이아이온 2015.06.05 0/0
질문 질문 다시 자세히 해서 드려봅니다 도와주세요~ 8 blaze 2016.08.12 0/0
질문 질문 3번쨰......입니다.. 9 문의드립니다 2015.06.11 0/0
질문 진행시간을 1분단위로 출력 하고 싶습니다 3 가족오락관 2017.05.04 0/0
질문 진짜 초보자 질문드려요 3 마베인 2015.07.14 0/0
질문 진짜 궁금해서 그러는데요. 도와주세요. 10 검정다람쥐 2016.04.10 0/0
질문 진정 테일의 지존분들의 따스한 도움을 기다리고 있습... 13 YOON'S 2015.05.12 0/0
질문 직관적인 매크로는 카카오토 뿐인가요? 1 청련애 2018.10.27 0/0
질문 지정한 프로그램 바깥 부분을 클릭하는 이유가 뭘까요? 3 아무렇게나 2015.04.18 0/0
질문 지정된 범위내에서의 마우스 랜덤이동을..어떻게 짜야... 3 포천아지 2017.09.12 0/0
Board Pagination Prev 1 ... 222324252627282930 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글