출처는 지년님 블로그(네이버블로그/kjinhyun88/220464762100) 입니다
비활성이미지서치입니다
제가 클릭도하는걸로 수정하였구요 잘작동을 합니다
문제는 이미지가져오는 위치가 스크립트가 있는 파일위치인것 같구요
경로를 %A_ScriptDir%\Image\ 쪽으로 바꾸고싶은데 잘안되서 질문드립니다!
그리고 또하나 질문드릴게요 밑에 클릭쪽부분에서 Nox app player -> dviceTitle 로 바꾸면 클릭을 하지않는데 왜안되는지 모르겠습니다 ㅠ.ㅠ
#include gdip.ahk
global dviceTitle := "Nox app player"
비활성이미지서치클릭(imgfile)
{
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(dviceTitle))
pBitmapNeedle := Gdip_CreateBitmapFromFile(imgfile)
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)
MsgBox, % "Time for 100 searches: " A_TickCount-Time1 "ms`nx: " x "`ny: " y ;%
;---------------------------클릭하는쪽--------------------------------------------------
Iparam := x|y<<16
PostMessage, 0x201, 1, %Iparam%, , Nox app player ;Nox app player -> dviceTitle 로 바꾸면 클릭을 하지않음
PostMessage, 0x202, 0, %Iparam%, , Nox app player ;Nox app player -> dviceTitle 로 바꾸면 클릭을 하지않음
;--------------------------------------------------------------------------------------
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")
}
button시작:
{
Gui, submit, NoHide
GuiControl, , 상태, 시작
비활성이미지서치클릭("메인모험입장.bmp")
}
return
이미지는 비활성이미지서치클릭("img\메인모험입장.bmp") 이런식으로 작성하시거나
폴더를 고정시키시려면 imgfile := "image\" imgfile 이런식으로 추가하시면 될 거 같고요
클릭부분은 다중 접속시 타이틀로는 작동이 되지 않을 수 있습니다.