본문 바로가기

오토핫키/오토핫키 강좌

오토핫키 :: 8강 핫키란 이런 것이다

오토핫키 이용에 있어서 많은 질문이 있으시더군요.
강좌를 조금만 유의 깊게 살펴보셨더라면 Send와 이미지서치에 대해서는 손쉽게 적용을 하실 수 있으실 텐데 여러모로 아쉬움이 남습니다.

이미지서치와 마우스 무브와 조건문 클릭까지 강좌를 따로 진행하였음에도 불구하고 같은 질문들에 진한 아쉬움을 느낍니다.

그래서 초심으로 다시한번 돌아가 보고자 가장 기초적인 것들에 대해서 강좌를 해보겠습니다.

오토핫키란 1강을 통해서 말했다 싶이 핫키를 통해서 어떠한 스크립트가 작동되게 하는 것입니다.

그렇다면 오토핫키의 핫키는 어떻게 만드는가 하는 부분입니다.
홈키를 눌러서 스크립트의 시작을 하고 싶다면
Home::
위와 같이 사용하시면 됩니다. 물론 다른 키도 가능합니다.
F1::   Enter::  Space:: 와 같이 다양한 핫키를 이용하실 수 있습니다.
ctrl - ^, alt - !, shift - +
위의 조합으로 다양한 핫키를 만들어 내실 수 있습니다. ^c는 실재적으로 Ctrl + C와 같은 경우가 되겠죠.

이는 키를 보내는 Send,^c로도 응용해서 사용하실 수 있습니다. 복사시에 ^c는 복사키워드 Ctrl + c가 되겠죠.
혹은 {Ctrl}c 또는 {Ctrl Down}c{Ctrl Up}으로 활용이 가능합니다.

조건문의 활용은 다양하게 이용할 수 있습니다.
이미지를 서치할 때에서 부터 클립보드안의 내용비교까지 방대한 분량의 조건문이 형성가능합니다.
이는 오토핫키의 기능을 단순 무식이 아닌 강력한 기능으로 바꾸어주죠.

Errorlevel은 조건문의 구분을 의미합니다. Errorlevel = 0 이라는 것은 "참"을 의미하죠.
Errorlevel =  1 명령문이 시행되지 않았을 때를 의미합니다.
이미지 서치에서는 찾았을때와 그렇지 않았을 때로 구분할 수 있겠죠.

조건문 응용

IfEqual, var, value (same: if var = value)

IfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>)

IfGreater, var, value (same: if var > value)

IfGreaterOrEqual, var, value (same: if var >= value)

IfLess, var, value (same: if var < value)

IfLessOrEqual, var, value (same: if var <= value)  


예제 스크립트를 제공해 드리겠습니다.

Home::

A = Hello
B = Hi
if A = B
msgbox,어떻게 같을 수 있을까?
else
msgbox, 당연히 다르지

------------------------------------------------------------------------

Enter::
Imagesearch,vX,vY,1,1,500,500,a.bmp
if errorlevel = 0
{
mousemove,vX,vY
mouseclick,left,vX,vY
}
else
msgbox, 이미지를 찾지 못했습니다. 


위와같은 간단한 스크립트가 만들어 질 수 있겠네요.

한가지 팁을 드리자면 이미지서치시 jpg나 bmp와는 다른 png를 응용해서 배경색을 없앤 후 배경이 투명한 이미지를 찾을 수 있습니다. 단 옵션 조건에  *TransN 을 집어 넣어줘야 하죠.

*TransWhite, *TransBlack, *TransFFFFAA, *Trans0xFFFFAA 와 같은 형태로 사용이 가능하며
이 옵셔은 a.png 앞부분에 붙여서 사용합니다.    ..... 500,   *TransWhite a.bmp

아직도 가야할 산이 멀군요. 오토핫키 어렵지 않습니다. 
오토핫키의 길 강좌를 통해 나아가셨으면 좋겠네요.