매크로

인터넷 돌아다니면서 아래와 같은 소스를 찾았는데

1. 이미지 좌표값은 어디서 돌려받을 수 있을까요?ㅜ

2. 맨 밑부분 빨간색으로 음영친 파일의 위치는 어디로 정해져 있는 건가요? ahk파일 있는 곳에 별도의 폴더를 지정할 수 있는 건가요??

3. 이미지서치 기능은 jpg 도 가능한데 아래 문구는  bmp만 가능한가요??

고수님들 좀 도와주세요.ㅠㅠ


#include Gdip.ahk

ImageSearch_Inactive(Title, ImgFileName)
{
If !pToken := Gdip_Startup()
{
MsgBox, 48, gdiplus error!, Gdiplus failed to start. Please ensure you ha've 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)
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

  • Hangoon 2017.11.13 10:15

    함수내에서 x, y변수에 좌표가 할당이 되고 메시지박스로 출력을 해주는데요

    리턴을 안해주다보니 함수밖에서는 확인할 방법이 없습니다.

    x,y값을 동시에 리턴할수있도록 객체를 생성해서 x와 y값을 하나의 객체에 다 담아주시던지

    아니면 x,y형식으로 새로운 변수에 담아서 그 변수를 리턴하시던지 하는 식으로 함수를 바꾸세요


    사용의 편의성은 객체로 하시는게 월등히 좋을 거는 같네요.... 

    객체로 안하고 변수로 하시면 나중에 실제로 쓰실때는 변수에서 x,y값을 다시 추출해줘야 되니까요

  • 할거엄따구 2017.11.13 11:11

    ImageSearch_Inactive(Title, ImgFileName) < 이부분을

    ImageSearch_Inactive(Title, ImgFileName, byref x, byref y) 로 변경하시면

    ImageSearch_Inactive(Title, ImgFileName, x,  y) 의 형태로 함수 호출하시고

    msgbox,% "x = " x ", y = " y 이렇게해서 확인해보시면 될거 같습니다.

    함수 중간에 있는 msgbox는 제거하시고요.

  • 인류의희망 2017.11.14 10:27
    감사합니다 고수님들 좀더 공부해볼게요 어렵네요 ㅜㅠ

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 이미지 서치할때 해상도는 해당이미지의 픽셀... 1 앍짐 2016.08.17 0/0
질문 오토핫키 이미지 서치의 위치좌표의 정확도 때문에 질... 2 나는야개발해 2017.08.06 0/0
질문 오토핫키 이미지 서치가 안 됩니다. 5 alfhsk 2017.12.08 1/0
질문 오토핫키 이미지 서치 후 없으면 패스 가능한가요? 5 놀러가자 2017.11.28 0/0
정보 오토핫키 이미지 서치 테스트용 1 너울 2015.05.04 0/0
질문 오토핫키 이미지 서치 질문하려구 합니다~ 2 서영욱 2015.10.22 0/0
질문 오토핫키 이미지 서치 질문입니다. 5 올드휴고 2015.02.06 0/0
질문 오토핫키 이미지 서치 문의 1 닉길동무 2023.02.24 0/0
질문 오토핫키 이미지 검색 결과 텔레그램으로 결과 보내기 ... 난달린다 2018.11.08 0/0
질문 오토핫키 이메일 보내는거 정리된거 없나요 2 dmsag 2020.08.13 0/0
질문 오토핫키 이런식으로 사용해도 문제가없을까요? 9 페르니코 2015.05.19 0/0
자유 오토핫키 응용이 너무 어렵네요.. 1 깡시 2017.01.20 0/0
질문 오토핫키 응답문제 3 PlusK 2016.07.04 0/0
질문 오토핫키 위치 이미지 인식후 그다음 인식 질문입니다. 5 팀팀이 2015.12.15 0/0
질문 오토핫키 웹파싱 문의드립니다. 1 나당1호 2019.02.27 0/0
자유 오토핫키 움직이는 이미지 서칭질문 2 켈스이 2015.09.25 0/0
질문 오토핫키 우회하고싶은데 질문입니당 3 다정크크 2016.10.15 0/0
질문 오토핫키 우회컴파일러를 만들고 싶어요 1 사냥하고파요 2016.12.26 0/0
질문 오토핫키 우회방법 알려주실수 있을까요? 1 파카맨 2019.01.24 0/0
자유 오토핫키 우회방법 가르쳐주실분구합니다 1 고생 2023.02.24 2/0
Board Pagination Prev 1 ... 717273747576777879 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글