매크로

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

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
분류 제목 글쓴이 최근변경 추천
질문 초보입니다, 웹페이지에서 어떤 텍스트를 검색하려면 3 삭제기호 2015.12.25 1/0
질문 클릭 좌표를 기억해서 일정 조건 수립후 기억한 좌표를... 2 genie7 2015.12.26 0/0
질문 나누기 나머지값 구하는 연산자는 없나요? 4 비홀더 2015.12.31 0/0
질문 왕초짜 adb 왕 초급 질문 6 환타지조아 2016.01.01 0/0
질문 피아노타일 같은건 어떻게 제작해야되죠? 3 망망몽몽 2016.01.02 0/0
질문 메트릭스(행렬)도 가능한가요? 3 비홀더 2016.01.09 0/0
질문 이미지 비활성 서치관련 질문드립니다.! MOM131 2016.01.01 0/0
질문 PostMessage를 이용한 비활성화 이미지서칭->클릭 질문 4 이그쨔 2016.01.02 0/0
질문 이미지 서치 관련 + 비활 클릭 1 수지가좋아 2016.01.02 0/0
질문 오토핫키 스크린샷(캡쳐, 스샷)이 가능한가요? 4 김댕 2022.03.20 0/0
질문 체력감지 질문이요 5 현이내 2016.01.10 0/0
자유 특정 프로그램에서 blockinput 명령어가 안먹혀요 ddfa4 2016.01.06 0/0
질문 간단한 녹스 2개실행하여 오토핫키 질문 6 다중이 2016.01.08 0/0
질문 인스타그램 좋아요 찍기 만들려는데 문의입니다. 1 난사자당 2016.09.04 0/0
질문 Postmessage가 IE에서는 안되네요 1 김댕 2016.01.08 0/0
질문 d-day 기능 궁금해서 질문합니다~ 2 MaumR 2016.01.09 0/0
질문 gui 부분 질문 드립니다 2 247천사잉 2016.01.10 0/0
질문 두개의 loop문 사이를 왔다갔다할수있는 핫키 12 Jaram 2018.10.12 0/0
질문 도움이 필요합니다..OTL 5 이응이 2016.02.16 0/0
자유 오랜만에 글남깁니다 ㅋ. 매우많이.. 늦었지만 복들 ... 3 제발등업좀2 2016.01.10 3/0
Board Pagination Prev 1 ... 717273747576777879 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글