관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

오토핫키 강좌 (초보편 #01 ) 본문

AUTOHOTKEY/도움말

오토핫키 강좌 (초보편 #01 )

님투 2009. 1. 3. 09:50
반응형
처음 핫키를 접하시는 분들 위주로 초반 강좌를 시작합니다.
최대한 비쥬얼 하게 진행하도록 하겠지만  매회 강좌를 완전히 본인 것으로 만드는 것이 가장 중요합니다.

1. 처음 언어를 배울때 배우는 Hello 출력 소스 같은 핫키 소스

/* --------------------------------------------------------------------------------------------------------
  메세지 다이얼로그를 표시한다.다양한 버튼을 표시하거나 타임 아웃을 지정하는 일도 가능.
  MsgBox, Text  ; MsgBox [, Options, Title, Text, Timeout]
  ※ 이 예제의 연관된 링크 : http://www.autohotkey.com/docs/commands/MsgBox.htm
-------------------------------------------------------------------------------------------------------- */
MsgBox, 세상의 중심은 나다 !!!



위창 처럼 출력이 됩니다.
이렇듯 MsgBox (이 링크를 통해서 보다 자세한 설명을 볼수 있습니다.) 와 같이 알림창을 출력해주는 역활을 합니다. 여기서 단순히 "Msgbox, 출력내용"  처럼 간단하게 사용할 수도 있지만 보다 다양한 방법으로 출력할 수 있음을 숙지하고 다음 단계로 넘어가겠습니다.

2. 자 그럼 메세지 출력하는 방법을 한단계 향상 시켜보도록 하죠

/* --------------------------------------------------------------------------------------------------------
  사용자에게 선택의 조건을 주는 소스입니다.
-------------------------------------------------------------------------------------------------------- */
MsgBox, 4, , 난 세상의 중심이다 동의 하는가 ? `n 제한 시간은 5초다 그전에 대답하라 , 5  ; 5-second timeout.
IfMsgBox, No
    MsgBox, 나도 아니라고 생각한다.
    Return  ; No 를 선택했을 경우
IfMsgBox, Timeout
    MsgBox, 엥.. 넌 포기자냐..
    Return ; 5초가 지났을 경우
;......

이번 예제는 MsgBox 를 좀더 똑똑하게 만드는 방법입니다. 아래 스샷을 보면 이해가 좀더 되리라 생각합니다.

먼저 MSGBOX 에서 질문을 실행합니다.

예 (Y) 를 눌렀을 경우의 반

5초를 지나쳐 버렸을 때

No 를 선택했을 경



단 IfMsgBox 는 단독으로 사용되지 않고 fMsgBox 의 바로 뒤에 사용 합니다.
if 에서 알수 있듯이 분기문을 뜻하는 명령어 입니다. 오토핫키에서는 이처럼 전문 분기문을 두어서 분기문을 작성하는데 불필요한 시간을 투자 하지 않게 해줍니다.  이런류의 명령어는 오토핫키에서 자주 나오게 됩니다.

근데 소스를 보니 { ... } 로 되지 않아서 그렇치만 꼭 { } 를 넣을 필요는 없지만 아래 처럼 할수도 있습니다.
이것이 이해가 더 빠르다면 말이죠



3. 이 위에 메세지 박스는 단순히 정해진 데로만 행하는 명령이지만 다음은 사용자의  입력을 기다리는 명령어 입니다.

/* --------------------------------------------------------------------------------------------------------
  물론 아래 소스에서 password 는 메세지 창에 넣치 않아도 됩니다만 변수에 대한 이해를 돕기위해
  "%UserInput% (%password%)" 와 같이 수정했습니다.
-------------------------------------------------------------------------------------------------------- */
InputBox, password, 암호를 입력하세요, 암호는 보이지 않도록 *** 로 처리 됩니다., hide 
InputBox, UserInput, 전화번호를 입력하세요, 전화번호를 - 포함해서 정확하게 작성하세요, , 500, 200
if ErrorLevel
    MsgBox,취소를 누르셨습니다.
else
    MsgBox, 당신의 정보는 "%UserInput% (%password%)" 입니다.





짧은 강좌지만 오토핫키는 메세지를 어떤식으로 출력하고 활용할 수 있는지에 대해 설명하는데 중점을 두었습니다.
그리고 쉽게 소스에 접근해서 해볼수 있게 여러 예제도 준비해보았습니다.
다음 강좌에서도 보다 쉽게 접근할 수 있는 방법으로 준비해보겠습니다.
한국에서도 오토핫키 사용자가 많아져야 이러한 노력들이 있어야 나중에 핫키를 배우시는 분들이 쉽게 배울수 있는 날이 오길
기대합니다. 

반응형
Comments