'오토잇'에 해당되는 글 1건

  1. 2007.10.17 BCWipe무인설치 제작강좌.


우선 스크립트부터 보여드리면 다음과 같습니다.

run("bcwipe.exe")
WinWaitActive("BCWipe License Agreement")
Send("!a!n")
WinWaitActive("Welcome")
Send("!n")
WinWaitActive("Choose Destination Location")
Send("!n")
WinWaitActive("Select Program Folder")
Send("!n")
WinWaitActive("License Information")
;License Information부분은 키보드로 안되므로 직접 마우스를 이동시킨다.
$size = WinGetPos("")
MouseClick("Left",$size[0]+343,$size[1]+342)
;여기까지가 그렇다.
WinWaitActive("Setup Complete")
Send("!f")


이 파일을 그대로 메모장에 붙여넣고 .au3파일로 저장해서 실행하면됩니다. 물론 컴파일을 하지 않는 이상 AutoIt v3이 깔려있어야 겠죠.
스크립트에 대한 설명을 드리자면, run으로 실행을 하고 타이틀바에 BCWipe License Agreement가 뜰때까지 기다려서 Alt+a를 누르고 Alt+n을 누르라는 얘깁니다. 이부분을 !a!n로 표현하죠. AutoIt에서는 Alt는 !로 Ctrl은 ^로 표현합니다. Shift는 +로 적으면 됩니다.

표현
Alt !
Ctrl ^
Shift +

무인설치라는게 그렇게 어렵지가 않은것이 우선, 메시지 창이 뜨는것을 기다립니다.
WinWaitActive("Welcome")라고 적으면 타이틀바에  Welcome으로 시작되는 말이 나오기를 오토잇이 기다리게 됩니다. 그리고 나서 '다음'버튼을 눌러서 설치할 폴더도 정하고 기본설정으로 설치할 것인지, 사용자 지정 설치를 할지.. 등등을 지정해 주기만 하면 됩니다.

위의 스크립트도 보면 이같은 내용의 반복입니다. '다음'버튼은 보통 Alt+N으로 해결이 되기 때문에 타이틀바를 확인해서 Alt+N을 누른것처럼 스크립트로 신호를 보냅니다.

좀 어렵게 여겨지는 부분이 다음의 부분일겁니다.
$size = WinGetPos("")
MouseClick("Left",$size[0]+343,$size[1]+342)
이 부분은 License Information을 확인해 주는 부분인데, 키보드로는 방법이 없습니다. 아마도 개발자가 이부분은 그냥 엔터로 넘기지 말고 약간의 주의를 기울여 달라고 마우스를 움직여서 클릭하도록 한 것 같습니다. 그러나 이부분도 자동으로 넘길 수 있습니다. 바로 위의 두줄의 스크립트로 가능한데요. $size라는 변수를 지정해서 WinGetPos라는 함수로 현재 떠있는 창에 대한 위치정보를 알아낼 수 있습니다. 이 값은 배열형태로 $size[0], $size[1], $size[2], $size[3]이렇게 네개의 값이 저장이 되는데요. 각각이 의미하는 것은 다음 표로 정리 했습니다.

변수 의미
$size[0] 창의 모니터의 좌상단으로 얼마나 떨어졌는가(가로)
$size[1] 창의 모니터의 좌상단으로 얼마나 떨어졌는가(세로)
$size[2] 현재 창의 가로폭
$size[3] 현재 창의 세로폭

다시 스크립트로 돌아가서,
MouseClick("Left",$size[0]+343,$size[1]+342) 가 의미하는 것은,
마우스를 클릭하라, 이 때 마우스 왼쪽버튼 클릭이다.("Left")
좌측으로부터는 $size[0]+343만큼,
맨 위로 부터는 $size[1]+342만큼 떨어진 부분을 왼클릭 하라는 얘깁니다.

마지막 두줄 남았네요.
WinWaitActive("Setup Complete")
Send("!f")

이제 무슨 뜻인지 아실겁니다.
Setup Complete가 타이틀바에 뜨면 Alt+F를 눌러서 '마침'을 누른 효과를 내라는 것입니다. 버튼에 (F)라고 써있는거 보면 아하! 이 버튼은 Alt+F키가 단축키구나 하는걸 금방 아실 수 있을겁니다.

이것으로 무인설치 제작 강좌를 마치겠습니다. 오토잇에서는 스크립트 컴파일 기능도 있어서 컴파일을 하면 au3파일이 exe로 변환됩니다. 이렇게 변환을 시키면 어떤 컴퓨터든 귀찮게 AutoIt v3를 매번 깔지 않고도 막바로 실행시킬 수 있게 되는 것이지요.

AutoIt을 응용하면 더 다양한 작업이 가능하겠죠?

Posted by Ozahir
,