오토핫키(AutoHotKey) 기초강좌 #7 - 매크로 만들기 응용 2 (핫키, if 응용)




 전체 강좌

 1강 - 오토핫키(AutoHotKey) 소개

 2강 - 프로그래밍의 시작, GUI 만들기

 3강 - 매크로 프로그래밍 1 (Button, Loop, if 사용법)

 4강 - 매크로 프로그래밍 2 (ImageSearch, Send, Sleep)

 5강 - 매크로 프로그래밍 3 (Gui Submit)

 6강 - 매크로 만들기 응용 1 (if 응용, CoordMode)

 7강 - 매크로 만들기 응용 2 (핫키, if 응용)

 8강 - 매크로 만들기 응용 3 (While, GUI와 변수의 활용 1)

 9강 - 매크로 만들기 응용 4 (GUI와 변수의 활용 2)

 10강 - 매크로 만들기 응용 5 (함수1)

 11강 - 매크로 만들기 응용 6 (함수2)

 12강 - 매크로 제작 예제

















안녕하세요 킴영감입니다.


지난 강좌까지 열심히 달려오면서 조금이라도 재미를 느끼셨나요?


공부할 때는 힘들지만 내가 작성하는데로 동작하는 프로그램을 보고 있으면 흐뭇한 미소를 짓게 됩니다.^^


그럼 오늘도 열심히 한번 달려보겠습니다.


1. 핫키


"핫키"라는 단어가 생소하신분은 "단축키"라고 생각하시면 됩니다.


그럼 단축키를 만드는 방법과 우리는 어떻게 사용하면 좋은지에 대해 얘기해 보도록 하겠습니다.


핫키 사용방법은 아래와 같습니다.


 단축키:: 

 {

   단축키를 눌렀을 때 동작시킬 내용

 }

 return 


단축키 부분에 사용할 키보드 키를 입력하시면 됩니다. 여러 키의 조합을 사용할 수도 있지만 오늘은 "F2"키를 사용하도록 하겠습니다.

오토핫키에서 핫키를 사용할 때의 장점을 윈도우에서 사용하고 있는 단축키를 별도의 설정없이 내가 원하는대로 사용할 수 있다는 점입니다.


그럼 바로 프로그래밍에 들어가 봅시다.


지난시간까지는 버튼을 이용해서 시작과 종료를 했습니다. 여기에 추가로 멈춤 기능을 핫키로 구현해 보도록 하겠습니다.


아래와 같이 스크립트를 작성하세요.



단축키 부분에 "F2"를 적었습니다. 그리고 3강에서 배웠던 Loop를 탈출하는 방법으로 사용했던 "매크로시작"변수에 false 값을 넣었습니다. 

시작버튼을 눌러 프로그램이 루프를 돌고 있을 때 F2를 누르게되면 시작버튼에 있는 코드는 계속 실행되고 동시에 F2의 중괄호 내부의 코드가 실행되는 것이며, 매크로시작변수에 false가 들어가고 루프의 탈출 조건을 만족하기 때문에 루프를 탈출하는 것입니다. (이해가 안되시는 분은 3강을 다시 보시기 바랍니다.)

그리고 프로그램의 상태를 나타내는 텍스트에 "멈춤"이라고 표시해줍니다.


간단하게 멈춤 기능을 구현했습니다. 


스크립트를 실행해서 테스트 해 보시면 멈춤을 눌러도 바로 멈추지 않는 것을 확인 할 수 있습니다. 이는 루프 탈출을 위한 if가 제일 아래에 위치하고 있기 때문에 위에 있는 코드를 모두 실행한 뒤 탈출 하는 것입니다.


그럼 멈춤이나 F2키를 눌렀을 때 바로 멈추는 방법이 있을까요??


"즉시"는 아니지만 마우스 클릭은 안하게 스크립트를 수정해봅시다.



2. if 응용 (두번째)


우선 아래와 같이 스크립트를 수정합니다.



빨간 박스로 표시한 부분이 수정한 부분입니다.


if의 조건이 조금 바뀐것을 볼 수 있습니다. if의 조건으로 "ErrorLevel = 0"과 "매크로시작 = true" 두가지를 사용한 것입니다. 이처럼 여러개의 조건을 한번에 사용할 수 있으며 사용 방법은 아래와 같습니다.


 if ((조건1) && (조건2) && (조건3).....)


이처럼 여러가지의 조건을 나열해서 사용할 수 있습니다. 그런데 "&&"는 뭘까요?? 

"and 연산"을 아시는 분은 하실테지만 기초강좌인 만큼 모르시는 분을 위해 설명드리겠습니다.

"&&"의 의미는 양 옆에 있는 두개의 조건을 모두 만족해야 한다는 뜻입니다. 작성한 코드를 보면 "ErrorLevel = 0"과 "매크로시작 = true" 두가지 조건을 모두 만족해야지만 중괄호 내부의 코드를 실행하게 됩니다.

참고사항으로 "&&"의 자리에 "||"를 넣게 되면 둘 중 하나라도 만족하면 중괄호 내부의 코드를 실행하게 됩니다.


쉽게 생각하면 쉽고 어렵게 생각하면 어렵습니다. 프로그래밍을 공부하는데 가장 좋은 방법은 실습이니 반드시 직접 수정해보고 실행시켜가며 공부하기 바랍니다.


이제 멈춤이나 종료를 눌렀을 때 바로 반응하도록 코드가 변경되었습니다. 



오늘도 열심히 달렸네요.


점점 그럴듯한 매크로가 만들어지고 있는 것이 보이시죠??


화면이 화려한 것이 좋은 매크로는 아닙니다. 직접 작성하면 원하는 설정들은 코드로 직접 작성 할 수 있기 때문에 훨씬 수월하게 매크로를 만들 수 있습니다. 그러니 힘내서 따라오시기 바랍니다.


이상으로 강좌를 마치겠습니다.



블로그 이미지

킴영감

프로그래밍과 게임공략, 게임과 관련된 프로그램에 대한 내용을 다룹니다.