매크로

질문
2016.07.20 16:45

로그 질문드립니다.

조회 수 115 추천 0 댓글 1

F1을 누르면 로그가

세나에 접속합니다

이미지\into.bmp 못찾음

ESC

이미지\icon.bmp 못찾음

ESC

ESC

ESC

이렇게 되는데


If(IsImageCheck(x, y, "main.bmp",60,0))

{

getlog("세나 실행 완료")

}

else

{

Send(Esc)

getlog("ESC")

}

이것을 이미지를 기다렸다가 이것을 진행하든가 하고싶은데 어떻게 해야될까요

icon: into: main: 이렇게 각각 만들어서 해야될까요?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Gdip_ImageSearchWithdHwnd(Hwnd,Byref X,Byref Y,Image,Variation=0,Trans="",sX = 0,sY = 0,eX = 0,eY = 0)
{
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 - wFrame
Y := LISTArray2 - wCaption - wFrame
;GuiControl,,로그, %bmpHaystack%||%bmpNeedle%||%RET%
;msgbox, %bmpHaystack%,%bmpNeedle%,%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, BlueStacks App Player
    If(Gdip_ImageSearchWithdHwnd(Title, ClickX, ClickY, CKImage, errorRange, trans, sX, sY, eX, eY))
    {
        return true
    }
}
;Gdip 함수 ▲
 
 
getlog(a)
{
    gui,submit,nohide
    global 로그넘버
    로그넘버 ++
    b=%로그넘버%
    guicontrol,,로그,%A_mon%/%A_MDay% %A_Hour%:%A_Min%:%A_Sec% %a%|| 
    FileAppend,[%A_mon%/%A_MDay% %A_Hour%:%A_Min%:%A_Sec%][%a%]`n, log.txt
}
;로그기록 함수 ▲ 
 
 
F1::
Loop
{
    If(IsImageCheck(x, y, "이미지\icon.bmp",60,0))
    {
        Click(x, y)
        getlog("세나에 접속합니다")
    }
    else
    {
        getlog("이미지\icon.bmp 못찾음")
    }
    If(IsImageCheck(x, y, "이미지\into.bmp",60,0))
    {
        Click(x, y)
    }
    else
    {
        getlog("이미지\into.bmp 못찾음")
    }
    If(IsImageCheck(x, y, "main.bmp",60,0))
    {
        getlog("세나 실행 완료")
    }
    else
    {
        Send(Esc)
        getlog("ESC")
    }
}
return
cs

  • 할거엄따구 2016.07.20 17:01

    잘찾아보시면 이미지가 나올때까지 기다리는 함수들이 있을텐데요..

    간단하게 예를 들면, 위에 작성하신 IsImageCheck라는 함수는 단발성인것 같습니다.

    이미지를 기다리게하려면 Loop와 sleep등을 사용하여 작성이 가능합니다.

    ex)

    Loop

    {

    if IsImageCheck(x,y, "이미지\icon.bmp", 60,0)) ; 이미지를 찾으면

    {

    click(x,y)

    break ; Loop 빠져나가기

    }

    sleep,1000

    }


    이런식으로 구성하게되면 icon.bmp에 해당하는 이미지가 화면에 나타날때까지 1초 간격으로 저 이미지만 찾게 됩니다.


    도움이 되셨으면 좋겠습니다.


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 녹스 비활성 붙혀넣기 성공하신분들 구합니다 2 러비 2016.08.24 0/0
질문 픽셀서치 렉(?)에 대해.. 3 Liebkn 2016.08.17 0/0
질문 오토핫키 ImageSearch 질문 3 꼼닭 2016.08.09 0/0
질문 배열에 대한 질문입니다. 2 고파사탕 2016.08.09 0/0
질문 오토핫키 로그인 인증방식과연동 관련하여 제작의뢰 에제키엘 2016.08.06 0/0
질문 멈춤화면 인식문제. 1 투루 2016.08.09 0/0
질문 난독화 관련 질문 5 득칠 2016.08.03 0/0
질문 오토핫키 로그인 인증방식과연동 관련하여 제작의뢰를 ... 4 혼마류 2023.02.24 0/0
질문 오토핫키에서 파일을 숨기는 명령어가 혹시 있나요? 1 더러럭배 2018.05.28 0/0
질문 Postmessage 질문 3 카둠 2016.08.09 0/0
질문 오토핫키 + - * / 1 김현서 2016.07.25 0/0
질문 오토핫키 메이플1 에서 막히는데 뚫는법은 없나요? 밍코예 2019.08.17 0/0
질문 블택2 비활성클릭 안되나요? 3 수지가좋아 2016.10.25 0/0
질문 RunWait에 관하여 질문드립니다. 2 낙길 2016.07.30 0/0
질문 영군 무한혼탑 좀 짜주실분 없을까요?... 라티엠 2016.07.25 0/-3
질문 붉은보석 게임가드나 핵쉴드 우회 2 RYORI 2017.01.08 0/0
자유 ahk파일 뜯으면서 공부하려고 하는데 4 에데루스 2016.07.29 0/0
질문 오버워치 인게임 픽셀서치 문제입니다 2 플레이 2018.02.03 0/0
질문 PushBullet 스마트폰에서 보낸 채팅내용 PC에서 가져오... 1 Atoka 2016.07.28 0/0
질문 로그 질문드립니다. 1 PlusK 2016.07.20 0/0
Board Pagination Prev 1 ... 118119120121122123124125126 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글