매크로

조회 수 373 추천 0 댓글 4
#include Gdip.ahk

ImageSearch_Inactive(Title, ImgFileName)
{
If !pToken := Gdip_Startup()
{
MsgBox, 48, gdiplus error!, Gdiplus failed to start. Please ensure you have gdiplus on your system
ExitApp
}
OnExit, Exit

pBitmapHayStack := Gdip_BitmapFromHWND(hwnd := WinExist(Title)) 
pBitmapNeedle := Gdip_CreateBitmapFromFile(ImgFileName)

Width1 := Gdip_GetImageWidth(pBitmapHayStack), Height1 := Gdip_GetImageHeight(pBitmapHayStack)
Width2 := Gdip_GetImageWidth(pBitmapNeedle), Height2 := Gdip_GetImageHeight(pBitmapNeedle)
E1 := Gdip_LockBits(pBitmapHayStack, 0, 0, Width1, Height1, Stride1, Scan01,BitmapData1)
E2 := Gdip_LockBits(pBitmapNeedle, 0, 0, Width2, Height2, Stride2, Scan02,BitmapData2)

MCode(Gdip_ImageSearch, "83EC148B4424309983E20303C28BC88B442434995383E2035503C2C1F80256C1F902837C24"
. "30005789442420C7442410000000000F8EBE0000008B5C24288B7C24388D048D00000000894424188B442430895C241CE"
. "B098DA424000000008BFFC74424440000000085C07E6D895C24148B6C242CC7442440000000008D6424008B4C24403B4C"
. "243C0F8D8600000033C985FF7E158BD58BF38B063B02751F4183C20483C6043BCF7CEF8B442420035C2418FF44244003C"
. "003C003E8EBC38B4C24448B5C24148B4424304183C3043BC8894C2444895C24147C978B4C24108B5C241C035C2418413B"
. "4C2434894C2410895C241C0F8C68FFFFFF8B5424488B44244C5F5E5DC702FFFFFFFFC700FFFFFFFF5B83C414C38B4C244"
. "48B5424488B44244C5F495E890A8B4C24085D89085B83C414C3")

Time1 := A_TickCount
VarSetCapacity(x, 8, 0), VarSetCapacity(y, 8, 0)
Loop, 200
DllCall(&Gdip_ImageSearch, "uint", Scan01, "uint", Scan02, "int", Width1, "int", Height1, "int", Width2, "int", Height2, "int", Stride1, "int", Stride2, "int*", x, "int*", y)
MsgBox, % "Time for 100 searches: " A_TickCount-Time1 "ms`nx: " x "`ny: " y ;%
Gdip_UnlockBits(pBitmapHayStack,BitmapData1), Gdip_UnlockBits(pBitmapNeedle,BitmapData2)
Gdip_DisposeImage(pBitmapHayStack), Gdip_DisposeImage(pBitmapNeedle)
return
}

MCode(ByRef code, hex)
{
VarSetCapacity(code, StrLen(hex)//2)
Loop % StrLen(hex)//2 ;%
NumPut("0x" SubStr(hex, 2*A_Index-1, 2), code, A_Index-1, "char")
}

F9::
ImageSearch_Inactive("계산기","Calc.bmp")
return

Exit:
Gdip_Shutdown(pToken)
ExitApp
return


;  질문 내용입니다.

;  계산기를 예제로 활용할 경우에는 x좌표와 y좌표가 메시지 박스로 나오지만
; BlueStacks App Player에 적용할 경우에는  -1 -1 이런식으로 좌표가 나옵니다.
; 이유가 무엇인지 궁금하여 질문 드립니다.

  • profile
    부비수달 2016.02.23 11:06

    앱플레이어로 비활성을 제작하려면 adb를 사용하시는게 훨씬 좋습니다.

    adb에대한 정보는 이 게시판에서 검색하면 여러정보가 나옵니다.

  • walter 2016.02.23 12:34

    답변해주셔서 감사합니다!
    adb라는 것에 대해서도 한번 알아보도록 하겠습니다.
    현재 gdip가 그나마 접근되어져서 시도해보고있었네요 ㅎ

  • 로뎀나무 2016.02.25 08:35

    블택은 됩니다.

  • walter 2016.02.28 17:30
    네. 다른 글에 댓글 달아주셔서 거기에 대한 댓글 달도록 하였습니다 ㅎ

최근 추천글

오핫 제작합니다 1 설입 2024-06-18 23:45 +2
List of Articles
분류 제목 글쓴이 최근변경 추천
질문 gdip로 클립보드까지 저장은 하였습니다. 4 walter 2016.02.23 0/0
질문 블루스택에서는 gdip로 이미지서치가 가능한가요? 4 walter 2016.02.28 0/0
질문 pBitmapHaystack 과 pBitmapNeedle에 대해질문드립니다. 5 walter 2016.02.29 0/0
질문 이미지 서치 관련 질문 드려요. 4 뎅뎅 2016.02.24 0/0
정보 오랫만에 들러서 하나 투척하고 가요 ^^ 7 로뎀나무 2019.07.30 0/0
질문 이미지 서치 랜덤위치 때문에 질문드립니다. 4 뎅뎅 2016.02.26 0/0
질문 scite4autohotkey 기능 질문드려요 쵸쵸 2016.02.25 0/0
질문 ini파일에 저장이 정상적으로 이루어 졌는지 확인하는... 1 퉁군 2016.03.04 0/0
질문 이런 채팅 매크로 오토핫키(혹은 다른 매크로)로 만들 ... 드링크 2016.02.26 0/0
질문 스크립트 실행시 중복으로 실행못하게 하는 명령어가 뭐죠 1 지니블렉션 2016.02.27 0/0
질문 윈도우 or 구이 비활성화 질문... 4 화프 2016.02.28 0/0
질문 오토핫키파일우클릭 - 속성 - 자세히 여기에 나오는거 ... cjh71 2016.02.28 0/0
질문 핫키 고수님들 ㅠ 변수비교하는데 비교가안되서 도움요... 2 개멍멍멍 2016.03.01 0/0
질문 듀얼모니터 이미지서치 방법좀요 1 사군자vv 2016.03.04 0/0
질문 OCR 과 이미지서치 문제가 안풀립니다.. 6 뎅뎅 2016.03.06 0/0
질문 특정위치 클릭 방법 질문 드리겠습니다. 5 까스배달소년 2016.03.29 0/0
질문 블루스택에서 ESC키 입력하는 법 질문드립니다. 2 amoure 2016.03.04 0/0
질문 gdip 범위지정서치 질문합니다. 8 N4N2 2017.09.07 0/0
질문 메이플매크로/인식이안되도 스크립이 진행되는문제 2 세나블텍 2016.03.04 0/0
질문 원클릭 블루스택 해상도 설정 방법 4 파랑상 2016.03.12 0/0
Board Pagination Prev 1 ... 707172737475767778 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글