프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다

지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만, 새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.

6. 문자를 출력하는 MsgBox (상)


이제 드디어 소스코드를 작성해봅시다. 첫번째로 배울 함수는 화면에 문자를 출력해주는 함수인 MsgBox입니다.

우선 지난 강을 참고하시어 스크립트를 편집할 수 있도록 에디터 화면을 연 채로 시작해보겠습니다.

아무것도 적혀있지 않는 빈 편집기의 화면 사진 1. 편집기를 연 모습

MsgBox

MsgBox는 알림상자로 화면에 문자를 출력해주는 함수입니다. 이를 이용해서 사용자에게 알림이나 경고 등을 표시할 수 있습니다. 간단하지만 자주 사용됩니다. 먼저 MsgBox 함수의 원형은 아래와 같습니다.

MsgBox([Text, Title, Options])
MsgBox 함수의 원형

매개변수

  • Text: 알림 상자에 표시될 내용
  • Title: 알림 상자의 제목
  • Options: 알림 상자가 어떻게 표시되는지 설정할 수 있는 옵션

4강에서 말씀드렸던 내용 기억하시나요? 함수의 원형에서 대괄호로 표시된 매개변수는 선택 매개변수라고 했습니다. 입력하지 않아도 오류가 나지 않고 실행된다는 뜻이지요.

원형을 보니, MsgBox는 모든 매개변수가 선택 매개변수네요. 시험삼아서 인수를 모두 생략한 후 MsgBox 함수를 호출해보겠습니다. 이제 빈 편집기에 직접 코드를 타이핑해보시면 됩니다.

1MsgBox()
인수가 모두 생략된 MsgBox

이제 여러분이 입력한 코드를 실행해보겠습니다. 편집중인 스크립트를 실행해보고자 한다면, SciTE4AutoHotkey 상단 도구모음에서 실행() 버튼을 누르거나 키보드의 F5키를 누르면 됩니다.

Press OK to continue 라는 내용을 가진 알림 상자 사진 2. 실행된 알림상자의 모습

정말이네요! 오류 없이 알림상자가 나타났습니다. 적어준 인수가 없기 때문에 기본 문구인 "Press OK to continue"가 나타났지만, 선택 매개변수를 모두 생략했을 때 오류가 나지 않고 스크립트가 실행된다는 점을 알게 되었습니다.

실습

1. 인수 사용해보기

표시되는 문구를 수정해봅시다. 바다 건너 외국인들은 프로그래밍 언어를 처음 배울때 Hello, world!라는 문구를 출력해보는 전통 아닌 전통이 있습니다. 우리도 한 번 따라해보죠. 알림상자에 Hello, world!를 출력하려면 어떻게 해야할까요? 함수의 원형을 보며 알아봅시다.

MsgBox([Text, Title, Options])
MsgBox 함수의 원형

알림상자의 문구는 Text 매개변수로 지정할 수 있습니다. 그렇다면 Title과 Options 매개변수를 생략하고, Text 매개변수의 위치에 아래와 같이 적고 실행해봅시다.

1MsgBox("Hello, World!")
예제 1. Text 매개변수에 "Hello, world!"를 입력 Hello, world! 라는 내용을 가진 알림 상자 사진 3. 실행된 알림상자의 모습

Hello, world! 문구가 출력됩니다. 여기서 한 가지 짚고 넘어가보자면, 함수의 인수로 문자열을 전달할 땐 이를 따옴표로 감싸주어야합니다. 따옴표는 큰 따옴표(")와 작은 따옴표(') 모두를 사용할 수 있으나, 여는 따옴표와 닫는 따옴표는 같아야 합니다.

Tip: 문자열이란?

프로그래밍에서 문자열이란 문자의 집합을 의미합니다. 보통 a, b, , 와 같은 한 글자를 문자라고 하죠?
문자열은 그러한 문자들이 모여 만든 단어나 문장 등을 뜻합니다.

아래처럼 특별한 기능을 하지 않는 일반적인 단어나 문장, 혹은 단일문자가 이에 포함됩니다.
apple, 가방, 너를 좋아해,a, abc123

위의 실습에서 사용한 Hello, world! 또한 문자열이죠. 앞으로는 강좌에서 '문구', '문장', '단어'와 같은 용어 대신 문자열이란 용어를 자주 사용하겠습니다.

2. 여러 줄 사용해보기

오토핫키는 구문을 위에서 아래로 순차적으로 실행합니다. 그렇다면 MsgBox도 여러번 써볼까요?

1MsgBox("제 이름은 홍길동입니다.")
2MsgBox("나이는 30살입니다")
3MsgBox("오토핫키를 배우고 있습니다.")
예제 2. 여러줄의 소스코드 입력
제 이름은 홍길동입니다 라고 적힌 알림상자 나이는 30살입니다 라고 적힌 알림상자 오토핫키를 배우고 있습니다 라고 적힌 알림상자.
사진 5~7. 실행 결과('확인'을 누를때마다 각각의 알림상자가 팝업됨)

직접 코드를 실행해보세요. 첫 번째 알림상자가 나타난 후, 확인 버튼을 누르면 그 다음 알림상자가 나타납니다. 여기서 우리는 두 가지 깨달음을 얻을 수 있는데요, 하나는 이미 알고있던대로 '소스코드는 위에서 아래로 실행된다'라는 것이고, 다른 하나는 '동작이 완료되기 전엔 다음 줄로 진행되지 않는다'입니다.

예제에서 첫 번째 알림상자를 닫기 전까진 두 번째 알림상자가 나타나지 않았습니다. 오토핫키는 이전 동작을 완료하기 전까지 다음 줄로 넘어가지 않는 특징을 갖고 있기 때문입니다.

간단한 알림상자로 원하는 문구를 출력해보기도 하고 오토핫키의 특징을 두 가지나 알아보기도 했는데요, 강좌의 분량이 길어지니 Title과 Options 매개변수에 대한 설명은 다음 강에서 이어 하도록 하겠습니다.

질문하러 가기