반응형

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

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

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

사용하기에 있어 쉽다.

 

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

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

 

저도 이렇게 글을 블로그를 쓰고는 있지만, 일단은 프로그램 언어의 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
반응형

자 여지껏 실전만 해왔는데 갑자기 왜 연습이냐? 라고 생각해볼 수 있다는것입니다.

지금은 우리가 그냥 빠르게 대충 나한테 필요한거 만들자 하고 왔습니다.

지금은 드디어 컴퓨터의 중요한 클릭을 배워 보려고 합니다.

 

MouseClick("버튼",x좌표,y좌표,클릭횟수,마우스이동속도)

버튼은 왼쪽 left, 오른쪽 right, 중간은 middle ...등이 있습니다.

좌표는 아실테고요. 클릭횟수 더블클릭은 2를 넣어줍니다.

마우스이동속도 속도가 그리 중요한건 아닙니다. 컴퓨터 반응속도가 빠르면 속도를

올리는거겠지만, 보통 온라인 환경에서 메크로를 이용한다면 기본으로도 충분하고,

솔직히 sleep함수를 이용해도 좋습니다.

 

간단한거 해보겠습니다.

 

while(1)
Sleep("100")
HotKeySet("+{F2}",doubleMax)
HotKeySet("+{ESC}",terminate)
WEnd
Func terminate()
Exit 0
EndFunc
Func doubleMax()
MouseClick("left",556,15,2,5)
EndFunc

 

마우스 좌표에 2번 클릭을 하는데 저의 모니터 값을 넣었다는 겁니다.

이렇게 하면 더블클릭하는데 뒤에 5는 원래 10의 값에서 좀더 빠르게 이동해서 누르라는 의미입니다

자 이렇게 한번 해봤습니다. 

여러분은 이제 여러분의 마음데로 화면상에서 더블클릭도 하고 자유롭게 만들 수 있게 되었습니다.

오프라인의 환경에서의 메크로를 필요로 하신분은 Send까지도 사용하시면 더욱 더 좋겠습니다.

 

자 그래도 소스코드 설명을 해드리겠습니다.

 

MouseClick("left",556,15,2,5) ;마우스왼쪽클릭 하는데 x는 556으로 y는 15로 2번클릭하는데 마우스는 빠르게

 

이렇게 하는겁니다.

 

그러면 이렇게 연습도 하게 되었습니다.

드래그도 원하시는분은 도움말에 다 있습니다.

 

상상력이 동원된다면 여러분이 원하는 모든것들이 있는 오토잇이였습니다.

 

다음에 올리게 될 AutoIt은 다음시간에 알려드리겠습니다.

반응형

'AutoIt' 카테고리의 다른 글

[AUTOIT] 나만하는 넘버패드 마우스화  (2) 2020.08.19
오토잇 소스코드 분석기(Basic)(Calculator)  (0) 2020.05.08
AutoIt 네번째 실전  (0) 2020.04.29
AutoIt 세번째 실전  (0) 2020.04.26
AutoIt 두번째 실전  (0) 2020.04.25

+ Recent posts