반응형

오토잇은 강력하다. 하지만 일반 사용자들에게 있어서

다른 잘 만들어진 메크로들이 존재를 하며, 그렇게 고난도의 메크로를 원하지를 않는 것 같습니다.

솔직히 편한 메크로는 "메크로 프로그램"이라고 하면 잘 만들어두었으며,

사용하기에 있어 쉽다.

 

하지만 이 글을 읽어주시는 여러분들이라면 더 고난도의 기능을 추구하고 계실 것 같습니다.

오토잇은 오토 핫키에 비해서 인기가 없습니다.

 

저도 이렇게 글을 블로그를 쓰고는 있지만, 일단은 프로그램 언어의 C언어와 같은

기본적이면서 더 강력한 프로그램이라고 믿으면서 블로그 하겠습니다.

 

오토잇 소스코드 예제 편

 

오토잇을 설치한 폴더로 들어가서 Examples을 들어가 봅니다. 

C:\Program Files (x86)\AutoIt3\Examples

저는 위쪽의 경로입니다.

여러분들도 비슷할 겁니다. 

실행을 해 보시면 아시겠지만 그냥 간단한 프로그램들입니다.

우리 초보 한국인들은 잘 모를 수 있기에 

그냥 블로그 보면서 소스코드를 따와서 사용하기 쉽도록

제가 설명도 최대한 하면서 잘 이용할 수 있도록 정리해드리겠습니다.

 

- calculator

저의 해석입니다.

이 스크립트는 정말 영어를 잘 모르는 저에게는 상당한 실험이 되었습니다.

 

#include <Constants.au3> ;Constants.au3는 상수를 가져다 쓰는 것입니다.

Local $iAnswer = MsgBox(BitOR($MB_YESNO, $MB_SYSTEMMODAL), "AutoIt Example", "This script will run the calculator and type in 2 x 4 x 8 x 16 and then quit.  Do you want to run it?");MsgBox는 메시지 박스인데 BitOR은 예(Y)나 아니요(N) 이 버튼을 만드는 역할이며, $MB_YESNO,$MB_SYSTEMMODAL 이렇게 합니다.

If $iAnswer = 7 Then ;답이 7이라면 밑에 것을 실행한다는 것인데,

아니요 의 값이 7이라서 메시지를 띄우고 종료를 합니다
MsgBox($MB_SYSTEMMODAL, "AutoIt", "OK.  Bye!") ;메시지 박스 띄우고 종료합니다
Exit
EndIf

Run("calc.exe");계산기가 실행하기 위해서는 calc.exe를 사용합니다

WinWaitActive("[CLASS:CalcFrame]");정말 영문판이자 예전 버전에 쓰이는 거라서 그런지 win 10에서는 

먹질 않습니다. 우리 WinWaitActive 함수는 윈도 창을 기다리겠다. CLASS가 CalcFrame이라는 창을 

기다리겠다는 것입니다. 

이것을 가지고 고생했습니다. 해결책은 ""안에 Title로 넣읍시다. "계산기" 

AutoItSetOption("SendKeyDelay", 400) ; Send함수를 써서 입력할 때 딜레이를 주겠다는 것입니다.
Send("2*4*8*16=") ;"2 * 4 * 8 *16 = "을 스스로 타이핑을 합니다.
Sleep(2000) ;잠깐 있다가 종료를 합니다.

WinClose("[CLASS:CalcFrame]")

WinWaitClose("[CLASS:CalcFrame]")

위에 WinClose와 WinWaitClose함수도 Class대신에 Title로 대체합니다.

그러면 잘 되십니다. 

 

Calculator.au3 파일 하나를 분석하는데도, 상당한 시간이 걸렸지만, 그냥 주워가세요

힘을 내서 AutoIt을 차근차근 파 해쳐 봅시다. 

그러면 여러분

 

오늘의 요약

Constants.au3는 상수를 문자로 가져오겠다는 것이며,

가독성을 위해서 쓰이는 것 같습니다.

MsgBox도 또한 조금의 옵션이 더 있었다는 것

WinWaitActive를 너무 쉬운 함수로 봤기에 힘들었다는 겁니다.

자 그리고

AutoItSetOption("SendKeyDelay",400)을 사용해서 

너무 빠른 자동 타이핑을 줄여보자고요

 

반응형

'AutoIt' 카테고리의 다른 글

[AUTOIT] 나만하는 넘버패드 마우스화  (2) 2020.08.19
AutoIt 다섯번째 연습  (0) 2020.04.30
AutoIt 네번째 실전  (0) 2020.04.29
AutoIt 세번째 실전  (0) 2020.04.26
AutoIt 두번째 실전  (0) 2020.04.25

+ Recent posts