매크로

loop
{
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진1.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진2.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진3.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진4.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진5.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진6.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진7.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진8.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진9.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진10.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진11.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진12.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진13.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진14.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진15.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진16.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진17.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진18.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진19.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\사진20.bmp
if (Errorlevel = 0)
{
Gosub, 사진찿았다
}
}


사진찿았다:

{
MouseClick,Left, 1000,500
}
return


이런식으로 1~20개중 한개의 사진을 찿고 하나의 x1000,y500클릭(확인버튼) 동작을 하고 있습니다

이개 이미지 하나 찿는데 스크립트 에요

제 스크립트가 너무 길어요 좀 줄이고 싶은데 방법이 없을까요?



  • 할거엄따구 2017.10.21 10:04

    같은 구조를 갖는 반복적인 스크립트는 함수로 만들면 사용하기가 쉽습니다.


    Loop,20

    {

    image := "사진" A_INDEX ".bmp"

    사진검색(image) ; 사진검색 함수 호출

    }


    사진검색(Image) ; 사진검색 함수

    {

    ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\ %image%
    if (Errorlevel = 0)
    {
    클릭() ; 클릭함수 호출
    }


    클릭() ; 클릭함수

    {
    MouseClick,Left, 1000,500
    }


  • 달아올라 2017.10.21 13:19

    정말 감사합니다 제가 이해 한것인지...


    Loop,20

    {

    꼴뚜기:= "꼴뚜기" A_INDEX ".bmp"

    사진검색(꼴뚜기)

    }


    Loop,20

    {

    오징어:= "오징어" A_INDEX ".bmp"

    사진검색(오징어)

    }


    Loop,20

    {

    육개장:= "육개장" A_INDEX ".bmp"

    사진검색(육개장)

    }


    클릭()

    {
    MouseClick,Left, 1000,500
    }


    이런식으로 함수 만들어서


    사진검색(꼴뚜기)

    {

    ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\ %꼴뚜기%
    if (Errorlevel = 0)
    {
    클릭()
    }


    사진검색(오징어)

    {

    ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\ %오징어%
    if (Errorlevel = 0)
    {
    클릭()
    }


    사진검색(육개장)

    {

    ImageSearch, vx, vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50  \Image\ %육개장%
    if (Errorlevel = 0)
    {
    클릭()
    }


    이런식으로 스크립트 짜면 될까요?? 제가 이해한건지 모르겠네요

    A_INDEX 기능이 같은 이미지이름뒤 숫자를 읽는 건가요?


  • 할거엄따구 2017.10.22 05:45
    A_INDEX는 LOOP에서 사용할 경우에 LOOP 횟수를 뜻합니다.
    첫번째 실행시에는 1, 두번째는 2...이렇게요.

    Loop,20
    {
    image := "사진" A_INDEX ".bmp"
    msgbox, %image% ; 궁금하시면 넣으셔서 확인해보세요.
    사진검색(image) ; 사진검색 함수 호출
    }

    함수를 저렇게 일일히 만들필요 없이 매개변수를 만들어 사용하면 간단하게 사용할수 있습니다.

    사진검색(image)
    {
    ...
    }
    라는 함수가 있다면
    호출시
    사진검색(image)라는 명령어로 호출이 가능합니다.
    이때 image는 매개변수라고해서 함수내로 변수를 전달하는 역할을 하게 되죠.
    세부내용은 링크 참고하세요.
    http://autohotkeykr.sourceforge.net/docs/Functions.htm

    사진이 오징어, 육개장, 꼴뚜기 등등이 각 1~20번까지 있다고 가정했을때
    이걸 또 다시 함수화 시켜 버리면 다시 간단하게 되겟죠.

    사진검색2(name)
    {
    Loop,20
    {
    image :=name A_INDEX ".bmp"
    사진검색(image)
    }
    }

    호출시는
    사진검색2("오징어")
    사진검색2("육개장")
    사진검색2("꼴뚜기")
    이런식으로 가능합니다.

    이 새벽에 뭐하고 있는건지 모르겠네요...내용이 두서 없어도 이해 바랍니다.
  • 달아올라 2017.10.22 10:29
    정말 감사합니다 확 줄었네요 감사합니다
  • BabyBoo 2017.10.30 05:22
    감사합니다!
  • skazh 2017.10.30 11:12

    잘보고 갑니다.

  • 키리야 2017.11.28 14:48
    호오.... 개꿀팁

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 엑셀 다루기 관련 질문 드립니다 ^_^ 4 제발등업좀2 2016.01.10 0/0
질문 GetkeyState 키를 여러개 지정하는법 질문! 7 Jaram 2016.01.12 0/0
자유 오토핫키 OpenGL 라이브러리 4 암드래 2016.01.12 2/0
질문 2개의 구이창에서 2번 구이창 리스트뷰에 메세지가 나... 아처 2016.01.11 0/0
질문 Postmessage관련 질문 Param값 printscreen키 존재하나요? 허럴럴렁 2016.01.11 0/0
질문 특정 구문에 대해 궁금합니다. x :=(a ? 1 : 100) 세상에이런놈 2016.01.14 0/0
질문 비활성 스크린 가져오기 gdip말고 다른거없나요? 9 cjh71 2016.01.13 1/0
질문 오토핫키 파일인스톨 명령어 질문이요 3 페르니코 2016.01.12 0/0
질문 스마트 구이 관련 기초질문 하나 드립니다 1 재홍이입니다 2016.01.12 0/0
질문 gdip오류 2 페르니코 2016.01.22 0/0
질문 간단한거 질문좀 2 ddfa4 2016.01.13 0/0
질문 다중실행 질문좀할게요 후잡임 2016.01.13 0/0
질문 웹콘솔에서는먹히는데 오토핫키에서는 안되네요. 1 cjh71 2016.01.14 0/0
질문 이미지서치 질문이요~ 1 페르니코 2016.01.14 0/0
질문 카카오톡 대화내용 가져오는법있을까요? 3 cjh71 2016.01.16 0/0
자유 요즘 오핫 계시판이.. 썰렁 ~ 하네요 ㅎㅎ; 11 제발등업좀2 2016.01.22 0/0
질문 gdip 로 trans 기능 하는게 없나요? 3 리키레이 2016.01.17 0/0
질문 이 매크로를 비활성으로 바꾸려면 어떻게 해야 할까요? 4 1인자 2016.01.22 0/0
질문 블루스택2 비활성 클릭 질문드립니다. 4 얼음불꽃 2016.12.15 0/0
질문 오토핫키 마우스관련 질문 입니다. 일기 2016.01.18 0/0
Board Pagination Prev 1 ... 727374757677787980 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글