매크로

조회 수 3766 추천 1 댓글 6

이것저것 돌아다니는거 썻습니다..


;check_reg는 이미지서치가 되었는지 안되었는지 판단하는 전역변수입니다. 전체코드에서 맨 앞에 써주세요.

;x,y좌표 변수입니다. 전역변수 저장

global check_reg := 0

global imgsearch_x = 0
global imgsearch_y = 0


CoordMode,Pixel,Client

;coordmode 이부분은 쓰고 한번 해보고 안쓰고 한번 해보세요... 전 일단 쓰고있는데 잘모르겠네요 ..ㅠ


Gdip_ImageSearchWithdHwnd(Hwnd,Byref X,Byref Y,Image,Variation=0,Trans="",sX = 0,sY = 0,eX = 0,eY = 0)
{
 Sleep, 500
SysGet, wFrame, 7
SysGet, wCaption, 4
gdipToken := Gdip_Startup()
bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)
bmpNeedle := Gdip_CreateBitmapFromFile(Image)
if( sX!= 0 || sY!= 0 || eX!= 0 || eY != 0)
{
sX := sX + wFrame
sY := sY + wCaption + wFrame
eX := eX + wFrame
eY := eY + wCaption + wFrame
}
RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)
Gdip_DisposeImage(bmpHaystack)
Gdip_DisposeImage(bmpNeedle)
Gdip_Shutdown(gdipToken)
StringSplit, LISTArray, LIST, `,
X := LISTArray1
Y := LISTArray2

;여기에서 , 바로 밑 주석친걸로 하니 postMessage쪽이랑 좌표가 헷갈려서 전 바로 위 코드처럼 wFrame,wCaption 을

;안뺐습니다. 그리고 뭔가 값도 이상하더라구요... 물론 제기준
;X := LISTArray1 - wFrame
;Y := LISTArray2 - wCaption - wFrame
check_reg := RET
;GuiControl,,로그, %bmpHaystack%||%bmpNeedle%||%RET%
;msgbox, %X%,%Y%,%RET%
if(RET = 1)
{
return true
}
else
{
return false
}
}


IsImageCheck(ByRef ClickX, ByRef ClickY, CKImage, errorRange, trans, sX = 0, sY = 0, eX = 0, eY = 0)
{
 WinGet, Title, ID, [MOMO]앱플레이어
 If(Gdip_ImageSearchWithdHwnd(Title, ClickX, ClickY, CKImage, errorRange, trans, sX, sY, eX, eY))
 {
 return true
 }
}



그리고 , postMessage 부분입니다.


click(clickx, clicky) {

CoordMode, mouse, window

xx := clickx
yy := clicky - 36

;이부분이 , 비활성 이미지서치에서 좌표 따오는거에서 모모플레이어보면 맨 위 제목표시줄 만큼 y좌표를 빼는겁니다.
N := xx|yy<<16
PostMessage, 0x201, 1, %N%,TheRender,[MOMO]앱플레이어
PostMessage, 0x202, 0, %N%,TheRender,[MOMO]앱플레이어

}


사용예시입니다.


if(IsImageCheck(imgsearch_x, imgsearch_y, "예시.bmp",10,0))
{

    이미지서치가 되었을때 사용하는 부분

    click(imgsearch_x, imgsearch_y)
}

else if check_reg = 0
{

    이미지서치가 안되었을때 사용하는 부분
}


else if check_reg = 0 인 부분은,

저 값이 0이면 앱플레이어 화면인식은 되고, 해당 경로에 파일도 있는데 이미지를 못찼았을때 0으로찍힙니다.

경우마다 다른값이 출력되는데, 그건 구글형님이 자세히알려주시드라구요


이렇게 해야 이미지서치에서 저장한 이미지 좌표값과 postMessage에서 클릭하는좌표값이 일치하더라구요

아, 일치한다는 소리는 흔히 오토핫키에 같이 있는 좌표보는프로그램 아시죠?

그 프로그램의 Relative좌표랑 거의?일치합니다.

별의별짓 다해봤습니다... ㅠ


그리고 소스 공유해주시는분들 정말 감사합니다 (__)



List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 이용하여 마우스휠로 줌인 줌아웃을 보다 간... 2 배틀크루저 2023.02.24 1/0
질문 오토핫키 이제 막 시작하는 초보입니다. 새로만들기 스... 심장의중심 2016.10.26 0/0
질문 오토핫키 인터넷 단순 반복 용인데요 1 dnchd 2020.05.01 0/0
정보 오토핫키 인터넷 연결 확인 함수 뒷산아저씨 2023.02.10 0/0
질문 오토핫키 입문 초보 이미지서치 및 루프짜기 질문 2 색갈의비밀 2015.05.16 0/0
자유 오토핫키 입문자 인사드려요 ㅎ 5 곰발이 2015.01.28 0/0
질문 오토핫키 입문자 질문드립니다.. 2 안뇽하세용ㅋ 2016.09.18 0/0
질문 오토핫키 입문자의 비활성창 이미지서치 질문드립니다. 4 푸린느 2015.08.08 0/0
질문 오토핫키 입문자입니다. 도움이필요합니다. 아무 움직... 8 불꽃앞점멸 2017.09.28 0/0
질문 오토핫키 입문하려고 합니다. 1 쌍가마용 2019.10.14 0/0
자유 오토핫키 입문할때는 비활성만 되어도 좋았는데요... 5 푸른호수 2015.04.24 0/0
질문 오토핫키 입문할려고 합니다. 정보 많은 곳 좀 알려주세요 6 Auto영웅 2015.11.28 0/0
자유 오토핫키 입문합니다. 1 geendy 2019.01.23 0/0
질문 오토핫키 입문해보고 싶은데 1 스피노프 2017.08.30 0/0
질문 오토핫키 자체 창 크기 마우스로 조절하는 기능은 어떻... 3 우오대단 2019.06.30 0/0
자유 오토핫키 작동일시정지시키기 알려주세요 2 ddfa4 2017.02.28 0/0
질문 오토핫키 작동중지 오류 도와주세여 8 백곰e 2015.04.15 0/0
자유 오토핫키 잘 쓰시는 분들 질문좀 드릴게요 3 황승재 2019.02.07 0/0
자유 오토핫키 잘쓰시는분들 도움좀주세요~ 16 파더 2014.11.09 0/0
질문 오토핫키 잘하시는분 도움좀 부탁드려요. 3 라디 2014.11.15 0/0
Board Pagination Prev 1 ... 133134135136137138139140141 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글