매크로

조회 수 429 추천 0 댓글 9

f1::

IfWinExist, BlueStacks App Player
WinMove, ahk_class QWidget ,,,, 800, 480

WinSet, AlwaysOnTop, on, BlueStacks App Player
WinGetPos, X, Y, W, H, BlueStacks App Player

X2:=X+W
Y2:=Y+H


coordmode,pixel,screen

ImageSearch, m1, m2, %X%, %Y%, %X2%, %Y2%,*50 Image\A.bmp

if errorlevel=0
{

N:=m1|m2<<16
PostMessage, 0X201, 1, %N%,,BlueStacks App Player
PostMessage, 0X202, 0, %N%,,BlueStacks App Player
sleep, 500
msgbox, 찾음
}
else
{
 msgbox, 못찾음
}

return

f2::
ExitApp

-------------------------------------------------------------------------------------------------

호로록뚝딱님께서 올려주신건데

위처럼 하면 찾았다는 메세지 박스는 나오는데.. 클릭을 안하네요 ㅠㅠㅠ...

X1:=380
Y1:=260
N:=X1|Y1<<16

이렇게 바꾸면 해당 좌표는 눌러지는데..

왜그러는 걸까요 ㅠㅠ..? 블루스택 뿐만아니라 다른걸로 해도..안됩니다..

고수님들 도움 부탁드립니다!


  • 비활성닉네임 2015.08.09 15:24

    @외치기

    고수님 혹시 도움부탁드려도 될까요 ..ㅠㅠ..

    외치기님 글봤는데.. 너무 어려워요 그것두....ㅠ

    주석으로 설명 가능한가요??

  • profile
    외치기 2015.08.10 10:01
    우선 이미지를 찾은 후 m1과m2에 어떤값이 들어있는지 먼저 확인하시기 바랍니다.
    m1과 m2에 제대로 이미지좌표가 들어있다면
    밑에 Hangoon님 말처럼 좌표를 클라이언트좌표로 환산해야합니다.
    좌표환산에 관한내용은 테일스타에 이미 넘치도록 많습니다.
  • 비활성닉네임 2015.08.10 12:29
    감사합니다 검색해볼게요 !!
  • 스피릿치 2015.08.09 15:33

    m1과 m2를 x y로 바꿔보세요

  • 비활성닉네임 2015.08.09 15:48
    똑같이 찾았다는 메시지 박스는 뜨고 클릭이 안되요..
  • Hangoon 2015.08.09 16:13
    좌표를 클라이언트 좌표로 환산을 해줘야 합니다
  • 비활성닉네임 2015.08.09 16:23
    오! 그건 어떻게 해야하나요??
  • T7GG 2015.08.14 19:28

    ;gui ~~~~~~



    ;gui ~~~~~~


    #NoEnv

    #SingleInstance force ; 스크립트를 동시에 한개만 실행

    #Persistent ; 핫키가 없더라도 스크립트 실행을 유지

    SetBatchLines,-1  ; 라인간 딜레이를 없애서 속도 상승

    WinSet, AlwaysOnTop, on, BlueStacks App Player ; 블루스택이 항상위로

    coordmode, pixel, screen

    CoordMode, ToolTip, Screen

    WinGetPos, winX, winY, width, height, BlueStacks App Player ;블루스택의 위치 및 너비 높이 저장

    SetWorkingDir %A_ScriptDir%

    SetTitleMatchMode, 2

    ActiveID:="BlueStacks App Player"

    WinActivate, %ActiveID%

    DebugMode := 1

    SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

    WinGetPos, X, Y, W, H, BlueStacks App Player

    X2:=X+W

    Y2:=Y+H

        SysGet, capH, 4 ; 캡션Height
        SysGet, bordW, 32 ; 보더Width
        SysGet, bordH, 33 ; 보더Height




    ; f1을 눌렀을경우 만약에 이미지를 찾으면 x,y좌료를 클릭하고 0.1초후에 찾음메세지를 출력 찾지못하면 찾지못함 출력

    F1::

    if(imageSearcher(x,y, "\폴더네임\이미지.bmp")=1) ;  만약(if)에 이미지를 찾으면 

    {    

    sendClick( x, y) ;  x,y 좌표값을 클릭 하고

    sleep, 100 ; 0.1초 후에

    msgbox, 찾음 ; 찾음 메시지 출력



    else ; 찾지못하면 
    {
    msgbox, 못찾음  ; 못찾음 메시지 출력
    }

    return

    f2::
    ExitApp

    Return


    ;클릭
    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
    }
    ;이미지 서치
    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
        }
    }

    아마 이렇게 하셔도 되지 않을가요?

    도움이 되었으면 좋겠네요
  • T7GG 2015.08.14 19:33
    아래 함수도 연구해보세요~

    ; 비활성 이미지 클릭
    ; seconds : 시간 지정 (CheckImage 설정에 따름)
    ; fromX , fromY , toX , toY : 이미지 서치 범위 지정
    ; 리턴값 : 1 = 이미지 찾음 , 0 = 이미지 못찾음, -1 = 이미지 파일 없음
    ClickImage(img, seconds=0, fromX=0, fromY=0, toX=0, toY=0) {
        Sleep, 10

        result := CheckImage( img, seconds, x, y, fromX, fromY, toX, toY)
        If (result = 1)
        {
            global ActiveID, DebugMode, WindowCaptionHeight, WindowBorderWidth, WindowBorderHeight

            WinGetPos, winX, winY, winW, winH, % ActiveID

            px:=x-winX-WindowBorderWidth
            py:=y-winY-WindowBorderHeight-WindowCaptionHeight

            p := px|py<<16

            If ( DebugMode = 1)
            {
                ToolTip, 이미지 클릭 %img%, x, y, 10
            }

            PostMessage, 0x201, 0, %p%, , % ActiveID
            PostMessage, 0x202, 0, %p%, , % ActiveID
        }

        Sleep, 200
        Return result
    }



List of Articles
분류 제목 글쓴이 최근변경 추천
질문 RegExMatch질문 3 fnwj 2015.08.15 0/0
질문 이미지 비활성 서치관련 질문드립니다.! MOM131 2016.01.01 0/0
자유 신세계 8 fnwj 2015.08.20 0/0
질문 [세나] 매크로 만드는 중인데 좌표 값을 모르겟네요 6 genie7 2015.08.15 0/0
질문 인풋박스를 활용해서 클립보드에 문자를 넣을 수 있나요? 3 오핫정보공유 2015.08.14 0/0
질문 이런 에러가 납니다.. 혹시 원인을 아시는분?? 6 제발등업좀2 2019.11.26 0/0
질문 오토핫키 매크로 실행동안 화면 최소화시 진행여부에 ... 4 maruti 2019.11.26 0/0
자유 블레이드 핸콕님매크로 2 prodie 2015.08.14 0/0
질문 edit창 인식 1 fnwj 2019.11.26 0/0
질문 listview 질문드려봅니다 2 뫙치 2015.08.13 0/0
질문 오토핫키 함수관련질문 4 shot7 2015.08.12 0/0
질문 찾다 찾다 못찾아서..글 올려봅니다.. 3 오핫정보공유 2019.11.26 0/0
질문 메이플 스토리 비활성화 키보드 질문입니다!! 6 즉천 2015.08.20 0/0
질문 [질문]사용pc환경에 따른 이미지인식이.. 5 마토깽 2019.11.26 0/0
질문 매크로 알고리즘 질문 5 안녕222 2015.08.25 0/0
질문 오류가 있나 찾아주세요.. 7 별있 2015.08.14 0/0
질문 아주 간단한거 하나만 질문 드릴게요 ㅠ 4 오핫정보공유 2015.08.10 0/0
질문 으메 ㅠㅠ 쉽지가않네요 ㅠ 4 오핫정보공유 2015.08.10 0/0
질문 비활성화 이미지 서치후 클릭 안되요 ㅠ..ㅠ 9 비활성닉네임 2019.11.26 0/0
질문 비활성 드래그 관련 질문 드립니다. 3 제발등업좀2 2015.08.09 0/0
Board Pagination Prev 1 ... 153154155156157158159160161 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글