LearningNote
[오토핫키] 함수(2) 본문
반응형
함수를 실제로 어떻게 사용하는지, 왜 사용하는지에 대해 간단한 예를 들어 보겠습니다.
가장 최근에 배웠던 명령어인 ImageSearch 로 첫 번째 예제를 만들어 볼게요.
이미지 서치 시간에 작성했던 스크립트를 가져다가 조금만 바꾸겠습니다.
파일명만 적어주면, 이미지를 찾으면 클릭하고, 이미지를 찾지 못하거나, 기타 오류가 발생하면
메시지 박스를 출력하는 함수입니다.
imgClick(file)
{
CoordMode, Pixel, Relative
CoordMode, Mouse, Relative
ImageSearch, vX, vY, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack *30 ./%file%.png
if (ErrorLevel == 0)
{
Click, %vX%, %vY%, 1
}
else if (ErrorLevel == 1)
{
MsgBox, 이미지를 찾지 못했습니다.
}
else if (ErrorLevel == 2)
{
MsgBox, 오류가 발생하여 이미지 서치를 수행하지 못했습니다. 이미지 파일의 경로를 확인해주세요.
}
return
}
이 함수를 사용하지 않는다면,
이미지를 찾을 때마다 저 긴 코드를 반복해서 작성해야 합니다.
하지만, 함수를 쓴다면,
imgClick("파일명") 만 적으면 되죠.
이미지 파일 2개를 준비해서 실습해보아요.
첫 번째 이미지 파일은 이미지 서치 시간에 사용했던 것을 그대로 가져다 쓰겠습니다.
두 번째 이미지 파일은 윈도 그림판에서 Size 아이콘을 새로 캡처해서 png 파일로 생성하세요.
Alt + 3 을 누르면 1번 이미지가 클릭되고,
Alt + 4 를 누르면 2번 이미지가 클릭됩니다.
지금 바로 실행해보세요.
CoordMode 가 Relative 로 되어 있으므로,
그림판이 활성화된 상태에서 실행해야 클릭이 됩니다.
그렇지 않으면 이미지를 찾지 못했다는 메시지가 출력될 것입니다.
!3::
imgClick("image1")
return
!4::
imgClick("image2")
return
함수를 쓰지 않고,
image1 과 image2 를 각각 클릭하는 스크립트를 작성해보세요.
직접 해보시면, 왜 함수를 써야 하는지 몸소 알게 되실 겁니다.
함수 전체 소스를 참고하여
복습해보세요.
#SingleInstance, Force
F4::
ExitApp
f(x)
{
y := 2 * x
return y
}
!1::
MsgBox, % f(2)
return
!2::
y := f(3)
MsgBox, % y
return
imgClick(file)
{
CoordMode, Pixel, Relative
CoordMode, Mouse, Relative
ImageSearch, vX, vY, 0, 0, A_ScreenWidth, A_ScreenHeight, *TransBlack *30 ./%file%.png
if (ErrorLevel == 0)
{
Click, %vX%, %vY%, 1
}
else if (ErrorLevel == 1)
{
MsgBox, 이미지를 찾지 못했습니다.
}
else if (ErrorLevel == 2)
{
MsgBox, 오류가 발생하여 이미지 서치를 수행하지 못했습니다. 이미지 파일의 경로를 확인해주세요.
}
return
}
!3::
imgClick("image1")
return
!4::
imgClick("image2")
return
반응형
'오토핫키' 카테고리의 다른 글
[오토핫키] 컴파일 및 프로그램 배포 (0) | 2021.01.03 |
---|---|
[오토핫키] 함수(1) (0) | 2020.07.24 |
[오토핫키] 이미지 서치(3) (0) | 2020.07.21 |
[오토핫키] 이미지 서치(2) (0) | 2020.07.20 |
[오토핫키] 이미지 서치(1) (0) | 2020.07.16 |
Comments