매크로

자유
2016.05.26 23:15

비활성이미지서치 + 클릭

조회 수 3176 추천 2 댓글 7
#Singleinstance Force
#Include Gdip.ahk
SetBatchLines, -1
SetWorkingDir, %A_WorkingDir%



ImageSearch_uka(Title, ImgFileName, ByRef Pos_X, ByRef Pos_Y, DebugMode=false)
{
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, 100
DllCall(&Gdip_ImageSearch, "uint", Scan01, "uint", Scan02, "int", Width1, "int", Height1, "int", Width2, "int", Height2, "int", Stride1, "int", Stride2, "int*", x, "int*", y)
Pos_X := X, Pos_Y := Y
if (DebugMode = true)
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")
}





;;;;;;;;;;Gdip 이미지서치 함수▲

Click(x, y)
{
Ukano := x | y<<16
WinGet, ActiveID, ID, BlueStacks App Player
PostMessage, 0x201, 0, %Ukano%,, ahk_id %ActiveID%
PostMessage, 0x202, 0, %Ukano%,, ahk_id %ActiveID%
}

;;;;;;;;;; 비활성클릭 함수 ▲




$F2::
ImageSearch_uka("BlueStacks App Player","image\디소체.bmp", x, y)
MsgBox %x%/%y%
Click(x,y)
return


;;;;;;  예제 ▲


Gdip 이미지서치 + 비활성클릭 공부완료

이제 ADB공부하러갑니당 ㅎㅎㅎ







  • 신령공주 2016.05.27 17:50

    비활성 어치 공부하는 완전 초보입니다 0ㅅ0...

    #Include Gdip.ahk 이부분을 봐서는 Gdip.ahk 라는 파일이 필요할거같네요

    이미 완성되 요약되어 이해가 어려운 부분이 다소 존재하는 ㅜ0ㅜ

    $F2::  ;$ 이건 처음보는데 어떤기능인가요? $는 처음봐서 ㅎ;;

    ImageSearch_uka("BlueStacks App Player","image\디소체.bmp", x, y) 
    이부분 타이틀 BlueStacks App Player 와 이미지 경로 mage\디소체.bmp 를 변경하면
    다른프로그램에서 다른이미지 서치가능한가요??

    왠지 느낌으로는 코드가 이미짜여있어서 바로쓸수있는 느낌이네요 
  • 영창이염 2016.05.28 16:56

    gdip 라이브러리좀 구할수있을까요

  • 버긂 2016.08.07 13:38
    https://autohotkey.com/board/topic/29449-gdi-standard-library-145-by-tic/
    구글에 치니까 나오네요!
  • 파르페틱 2016.06.21 09:13

    이미지 위치가 어디에 저장되어야 하나요..

  • 버긂 2016.08.07 13:36
    스크립트랑 같은 폴더 내에 있으면 되는 걸로 알고 있습니다!
  • 버긂 2016.08.07 13:45
    마지막에

    Exit:
    Gdip_Shutdown(pToken)
    ExitApp
    return

    넣어야 되네요!
  • 스탠리베이 2017.01.17 21:13

    참고하겠습니다 ㅎㅎ


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 [AutoPM Ver 1.58] 포켓메이플스토리 매크로 8 은다 2015.04.25 4/0
자유 비활성이미지서치 중간정리(disp,adb) 11 우후훅 2017.04.03 4/0
자유 블루스택과 녹스에서 히트 돌릴때 색상차이 8 와이로 2017.11.09 4/0
자유 게임내용을 적을 때는 꼭 게임명을 제목에 적어주세요. 9 피카부 2016.06.15 3/0
자유 쿠키런 비활성화 매크로 8 mauver 2015.03.25 3/0
자유 세븐나이츠 매크로 만드는 중 11 보득 2015.02.25 3/0
자유 저에게 도움주셨던 많은 분들께 인사하로 들렀습니다... 8 파더 2015.02.12 3/0
자유 오랜만에 글남깁니다 ㅋ. 매우많이.. 늦었지만 복들 ... 3 제발등업좀2 2016.01.10 3/0
자유 세나 매크로 테스트 하실분 구합니다.(마감) 55 생물 2015.01.01 2/0
자유 (세븐나이츠)쌩초보가 만든 매크로 공유합니다.(이미지... 12 swksd 2015.04.24 2/0
자유 오토핫키 공부에 조금이나마 도움이 되시라고 스크립트... 8 외치기 2015.08.24 2/0
자유 Soundbeep 5 보득 2015.02.02 2/0
자유 혹시 여기 계시는 분들중에 티스토리 초대장 필요하신... 13 외치기 2015.02.21 2/0
자유 세나 매크로 머리가 멍청한건지 어려운건지 15 스파크 2016.11.20 2/0
자유 Function(함수)의 이해 5 리체 2015.07.28 2/0
자유 옛날에 제작한 메이플 매크로 스크립트 8 암드래 2019.02.13 2/0
자유 오토핫키 OpenGL 라이브러리 4 암드래 2016.01.12 2/0
자유 비활성이미지서치 + 클릭 7 셋쇼마루 2017.01.17 2/0
자유 Gdip 지정된 좌표 사각형으로 캡쳐하기! 8 셋쇼마루 2016.10.29 2/0
자유 리니지m 매크로 소스 공유합니다 28 무쏘오 2019.06.11 2/0
Board Pagination Prev 1 2345678910 ... 28 Next
/ 28

전체 최신 인기글

전체 주간 인기글