매크로

조회 수 1576 추천 0 댓글 2
여기저기 검색해서 이런 스크립트를 만들었는데 

#include Gdip.ahk
SetTitleMatchMode 2

ImageSearch_Inactive(Title, ImgFileName)
{
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)
;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 [x, y, Width2, Height2]
}

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")
}

F5::
WinGetClass, class, A
MsgBox, The active window's class is "%class%".
return





F9::
searchpos := ImageSearch_Inactive("BlueStacks","test.png")
if searchpos[1]>0 and searchpos[2]>0
x := searchpos[1] + Ceil(searchpos[3]/2) ;클릭 지점을 이미지 좌/상 에서 이미지 중간으로 보정, 중간값이 정수로 떨어지게 하기 위해 올림(ceil)사용
y := searchpos[2] + Ceil(searchpos[4]/2) 
;MsgBox, % "Time for 100 searches: " A_TickCount-Time1 "ms`nx: " x "`ny: " y ;%
;ControlClick , BlueStacksApp1, BlueStacks, _ctl.Window, L, 1, x%x% y%y% NA
;ControlClick, x%x% y%y%,BlueStacks,,,, 
x := % "" x ""
y := % "" y ""
Pos := x|y<<16
            postmessage,0x201,1,%Pos%,,BlueStacks ;title 프로그램의 pos지점을 왼클릭으로 누른다
postmessage,0x202,0,%Pos%,,BlueStacks ;왼클릭을 뗀다.
return


Exit:
Gdip_Shutdown(pToken)
ExitApp
return


f9를 누르면 블루스택에서 구동중인 앱에서 test.png 에 해당하는 그림을 비활성 상태에서 찾아서 클릭까지 하는 스크립트 입니다.

일단 비활성 상태에서 이미지 서치까지는 잘 되는데 비활성 클릭을 하려고 하니 안되는군요.

controlclick으로도 해보고 postmessage로도 해봤는데 둘 다 똑같은 증상이 나타나면서 비활성 클릭이 안됩니다.

일단 두 명령어 모두 클릭이 완전히 안되는 것은 아니고 '활성 상태에서 블루스택 윈도우 안에 마우스가 머물고 있을 때' f9를 누르면 해당 이미지 클릭이 되긴 합니다

하지만 블루스택 윈도우가 비활성 상태이거나 마우스가 블루스택 윈도우를 벗어나 있으면 클릭이 안되는군요.

비활성 상태에서 클릭이 가능하게 하는 방법이 없을까요?


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 블루스택과 녹스에서 히트 돌릴때 색상차이 8 와이로 2017.11.09 4/0
질문 블루스택에서 ESC키 입력하는 법 질문드립니다. 2 amoure 2016.03.04 0/0
질문 블루스택에서 비활성 클릭하기 2 cis105 2017.06.30 0/0
질문 블루스택에서는 gdip로 이미지서치가 가능한가요? 4 walter 2016.02.28 0/0
자유 블루스택은 이미지 서치보다는 픽셀 서치를 이용하는게... 11 묵비권 2015.01.05 0/0
질문 블루스택을 이용한 모바일웹도 가능할까요? 2 오켕 2016.02.16 0/0
질문 블루스택을 인식을 못하는건지 ㅠㅠ 도와주세요 12 247천사잉 2016.05.31 0/0
질문 블루스텍 구동시 화면깨짐 현상.. 1 흑염제 2015.04.15 0/0
질문 블택 postmessage 되긴하는건가요 ㅠㅠ? 1 스춥파츄 2015.07.13 0/0
질문 블택2 adb방식으로 매크로 제작중에 있는데요.. 해상도... 깜장별 2017.07.02 0/0
자유 블택2 비활성클릭 성공하신분 잇으신가요 .. 4 미천성 2016.03.30 0/0
질문 블택2 비활성클릭 안되나요? 3 수지가좋아 2016.10.25 0/0
질문 블택2와 블택의 adb 활용법이 틀린가요? 11 flem 2016.10.30 0/0
질문 블택에서 이미지서치 관련 질문입니다. 2 도영이아빠 2015.12.10 0/0
질문 블택윈도우화면 위로 Gui 텍스트 글자 보이게 하기 3 제주소나이 2015.04.22 0/0
질문 블택으로 세나 매크로 돌릴려고 하는데요.. 프로포스 2015.01.09 0/0
질문 비교연산자 >랑 < 질문입니다 3 adde 2017.09.01 0/0
질문 비발디(vivaldi) 브라우저에서 단축키가 안먹히네요? 리엔니케니스타 2017.04.24 0/0
질문 비쥬얼 스튜디오로 오토핫키 만들고 싶습니다. 룬룬리루 2017.08.15 0/0
자유 비트코인 시세 뷰어?? 6 Hangoon 2017.12.16 0/0
Board Pagination Prev 1 ... 899091929394959697 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글