매크로

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
분류 제목 글쓴이 최근변경 추천
자유 히트2는 오토핫키 없을까요 1 매매매핫키 2022.12.07 0/0
자유 히로매크로 사용중입니다. 1 매끄로 2015.03.16 0/0
자유 희한하네요... 2 보득 2015.02.02 0/0
자유 흠냐 오토핫키와 c++ 연관성 34f35 2015.10.09 0/0
자유 흠.. 안녕들 하세요.. 13 폐이니즘 2015.01.16 0/0
자유 흠 gdip 안쓰고도 비활성 이미지 서치가 가능하네요 4 루뽕 2015.11.19 0/0
질문 흑백화를 시킨 후 이미지를 저장 하였습니다. 이후 이... 1 haegu 2018.09.11 0/0
질문 흑백화 이미지서치 참고할만한 글 있나요?? 3 급홍어감별사 2018.07.02 0/0
질문 흑백 비활성 이미지 검색 구현하신 분 계세요? 4 프리 2019.05.23 0/0
자유 후.. 검은거 한번 만들어 볼까 합니다 쟈브 2018.11.14 0/0
질문 후 문의 2번째.. 드립니다......... 4 문의드립니다 2015.06.10 0/0
자유 효율적인 쫄작교체방법이 없을까요? 3 세나블텍 2015.08.06 0/0
질문 활성화된 프로세스 죽이는법 kill 3 리엔니케니스타 2017.03.29 0/0
정보 활성화된 창으로 esc보내는 라이브러리. 1 헐키 2015.06.19 0/0
질문 활성과 비활성의 차이가 무엇인가요~? 1 배고파3000 2018.09.04 0/0
질문 활성 ? 비활성 질문.. 2 아카드 2014.11.04 0/0
자유 확장자 변환기 3 없어돌아가 2015.04.01 0/0
질문 확장모니터에서 controlclick질문드립니다 레나류륜 2016.10.27 0/0
질문 확율을 결과물로 출력중입니다. 특수문자 출력을 못해요 3 가족오락관 2016.11.08 0/0
자유 확실히 오토핫키가... 16 아카드 2014.11.09 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글