'도움말들..../오토잇'에 해당되는 글 34건

  1. 2012.09.05 오토잇으로 설치 자동화 메크로..
  2. 2012.09.05 AutoIt 언어의 기초인 언어 레퍼런스
  3. 2012.09.05 OS 구분하여 Firefox 설치
posted by 범벙이 2012. 9. 5. 15:04

우선 v3zip 실행파일 V3Zip_Setup.exe을 다운받아 놔야죠

 (http://www.v3zip.com/main.do)

v3zip 설치 과정에는,  버튼 클릭이 필요한 다이얼 로그가 대략   개 있습니다.

 

제품 설치 자동화 스크립트는 단순합니다.

  1. 이 다이얼로그 박스들이 보일 때까지 기다린다.
  2. 적당한 버튼을 클릭한다.
  3. 이 때 AutoIt 창 정보 도구(Program Files\AutoIt3\AU3Info.exe)를 이용합니다.
  • 창 제목
  •  창에 있는 문자열( 보이거나 보이지 않거나 모두) 
  •  창 크기와 위치 
  •  상태 표시줄의 내용 
  •  마우스 포인터의 위치 
  •  마우스 포인터 밑에 있는 픽셀의 색상 
  •  마우스 포인터 밑에 있는 컨트롤 에 대한 자세한 정보

AU3Info 를 사용하려면 명랭행 또는 시작메뉴에서 실행만 시키면 됩니다. AU3Info 는 정보를 읽을 수 있도록 항상 최상위 창으로 유지됩니다. 실행 후 정보를 얻고 싶은 창으로 마우스 포인터를 옮기면 AU3Info 의 내용이 이용가능한 정보로 변경되여 즉시 자동화를 할 수 있습니다. (frozen되어 있다면 options에서 해제를 시켜줘야 합니다.)

 

AU3Info 가 실행되고 있을 때 문자열을 복사해서 넣고 싶으면  원하는 정보를 더블 클릭하고 CTRL-v 를 누른 후 스크립트에 붙여넣기를 하세요.

 

AU3Info 에서 보여지는 출력을 "고정" 시키고 싶을 때 CTRL-ALT-F 를 누르면  freeze 됩니다.

다시 한번 누르면 고정된 것이 풀립니다.

 

 

 다시 설치 자동화 도구 만들기로 back. ㅋ

  1. 우선  v3zip 실행파일을 저장한 폴더에 v3install.au3를 하나 만듭니다.
  2. 스크립트에 우선 Run 함수를 이용해서 Run(" V3Zip_Setup.exe") 라고 코딩합니다. 설치를 시작하려면 우선 어플을 열어야 하니까요.
  3. 근데  주의할 사항이 있습니다. 만약 비스타 같은 상위 OS에 만들고 계시다면,  관리자 권한이 필요합니다. #RequireAdmin 요렇게 하나 써 넣으셔야 합니다.
  4. 이렇게만 하고 F5를 눌러 보시면, 아래 같이 설치 화면이 보입니다. 이 설치 화면이 보일 때까지 약간의 시간이 필요합니다.

     


    그 기다리는 시간은 WinWaitActive ( "title" [, "text" [, timeout]] ) 를 이용합니다.

    title : 윈도우의 title
    text는 옵션으로 윈도우의 text입니다.
    timeout : 기다릴 시간이죠.

    WinWaitActive("V3zip 설치")

  5. 설치를 계속하기 위해서는 다음> 버튼을 클릭하여야 하는데 Enter 키로도 가능해 보입니다. 제품에 따라서는 Setup으로 되어 있을 수 도 있습니다. 이 때는 단축키 ALT-s를 이용합니다.

    Send("{ENTER}") 
  6. 설치할 v3zip의 설치 과정에서 ENTER 키를 몇번 눌러야 하는지 세어 본 후, Send("{ENTER}")  를 그 만큼 추가하면 완성 ^^  

 

posted by 범벙이 2012. 9. 5. 14:48
1. AutoIt의 데이터 형식은  Variant

숫자 또는 문자열 데이터를 저장하고 데이터가 사용되는 상황에 따라 데이터를 사용하는 방법을 결정한다. 

 

 예제:
    10 * 20        -->숫자 200

    10 * "20"     -->숫자 200

    "10" * "20"  -->숫자 200

    10 & 20        -->문자열  "1020" (& 는 join strings)

 "20" 같이 문자열을 숫자로 사용하려고하면 Number() 함수가 문자열 안에 유효한 숫자를 포함하고 있는지 확인해서 결과를 나타냅니다.  예를 들어, 10 * "fgh" 는 숫자 0 과 같습니다.
만약 문자열을 참/거짓(boolean) 으로 사용하려고 하고, 문자열이 빈문자열이면 거짓(False) 값으로 간주됩니다. 예를 들어,  NOT ""true 와 같습니다.

 2. 숫자 십진수, 16진수 모두 사용 가능.

3. 문자열은 " " 를 이용하여 표시 

4. 진리값

, 거짓 (true, false) 사용 가능. 

예제:

$Boolean1 = true
$Boolean2 = false
$Boolean3 = $Boolean1 AND $Boolean2  (= false)

$Boolean1 = false
$Boolean2 = not $boolean1  (= true)

5. 진리값은 숫자와 함께 사용가능 (false = 0 , true =다른 숫자 )
예제:
$Number1 = 0
$Boolean1 = true
$Boolean2 = $Number1 and $Boolean1 (= false)

6. 이진값 :  

예제:

$bin = Binary("abc")
$str = String($bin)    ; "0x616263"

7. 변수 
프로그래밍 언어의 변수는 다 그렇지만, 변수는 메모리에 데이터를 저장하는 장소.
오토잇에서는 $ 문자로 시작해서 문자, 숫자, _문자 만 포함한다. 
   - 변수 선언 : dim

  - 범위 선언 :  local, global

  - 상수 선언 : const, enum

  - 배열 선언 : $변수[크기]
 

 예제:

 Dim $var1 , $var_1

 Dim  Local $output = ''

 Dim  const $_DEBUG = True

 Dim  Enum $const1 = 1, $const2, $const3

 Dim $array[10] 

 8. 매크로 

  - 오토잇의 매크로는 @ 으로 시작한다.

 - 변수처럼 표현식 내부에 매크로를 쓸 수 있지만, 매크로 값을 할당할 수는 없다.

 - 윈도 디렉토리 위치나 로그온 한 사용자 이름 같은 시스템 정보를 쉽게 접근하게 도와준다.

 - 구분: 오토잇 관련 매크로, 디렉토리 매크로, 시스템 정보 매크로, 시간, 날짜 관련 매크로 

 시스템 정보 매크로의 예제 :

 @OSTYPE : NT/2000/XP/2003/Vista 는 "WIN32_NT", 95/98/Me 는 "WIN32_WINDOWS" 를 반환.

@OSVersion :    "WIN_2008", "WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_2000",

                              "WIN_NT4", "WIN_ME", "WIN_98", "WIN_95" 중에 하나를 반환

@OSArch : "X86", "IA64", "X64" 중에 하나를 반환

 9. 연산자

 - 연산자는 여느 프로그래밍과 동일.  

 - 우선순위:

   NOT
    ^
    * /
    + -
    &
    < > <= >= = <> ==
    AND OR 

 10. 조건문
 - If...Then...Else : 간단한 조건을 시험하길 원하슨 상황에서 사용

 -  Select...Case:  수많은 조건을 시험하길 원하는 상황에서 사용.

 -  Switch...Case : 같은 표현식이 몇가지 다른 가능한 값들과 평가되길 원하는 상황에서 사용.

예제:

 

11.  반복문
 - For...To...Step...Next : 표현식이 To 값이 될 때까지 계속 구문을 실행.

 - While...WEnd : 표현식이 거짓이될 때까지 계속 구문을 실행.

 - Do...Until : 표현식이 참일 때까지 DoUntil 사이의 구문들을 실행

 12. 객체문

  - With...Endwith : 객체 형식의 변수를 참조하는데 수고를 줄이는데 사용.

 - For...In...Next : 객체 컬렉션 또는 배열에서 요소를 열거.

13. 사용자 정의 함수 

 Func ...EndFunc  으로 원하는 함수를 만들 수 있다.

오늘 날짜를 알려주는 함수를 시간, 날짜 매크로를 이용하여 표현하면, 


 예제:

 14. 주석 
  - #comments-start (#cs)  : 주석의 시작
   ...
 -  #comments-end (#ce) : 주석의 끝으로 #cs와 짝을 이뤄 블럭 주석을 취한다.

 -  세미콜론(;) : 세미콜론 이후 모든 문자열을 주석처리

 -  밑줄문자 (_) : 줄바꾸기로 여러 줄확장이가능하고 세미콜론과 더불어 사용 가능하다. 

 예제:

 


 


 

출처 // http://blog.naver.com/PostView.nhn?blogId=jsm1111111&logNo=103787329&redirect=Dlog&widgetTypeCall=true
posted by 범벙이 2012. 9. 5. 14:42
#Include <Array.au3>
#Include <File.au3>
 
; Check if Mozilla Firefox x86 version is installed
If @OSArch = "X86" Then
    $MozillaFirefoxCurrentVersion = RegRead("HKLM\SOFTWARE\Mozilla\Mozilla Firefox", "CurrentVersion")
    $MozillaFirefoxInstallDirectory = RegRead("HKLM\SOFTWARE\Mozilla\Mozilla Firefox\" & $MozillaFirefoxCurrentVersion & "\Main", "Install Directory")
EndIf
If @OSArch = "X64" Then
    $MozillaFirefoxCurrentVersion = RegRead("HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox", "CurrentVersion")
    $MozillaFirefoxInstallDirectory = RegRead("HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\" & $MozillaFirefoxCurrentVersion & "\Main", "Install Directory")
EndIf
$MozillaFirefoxExecutableFile = FileExists($MozillaFirefoxInstallDirectory & "\firefox.exe")
If $MozillaFirefoxExecutableFile = 0 Then
        MsgBox(0x40010, @ScriptName, "Mozilla Firefox is not installed! Please install it and then run this script!", 4)
        Exit
EndIf
 
; Find Mozilla Firefox profile folder
If FileExists(@AppDataDir & "\Mozilla\Firefox\profiles.ini") Then
    $Mozilla_Firefox_profile_folder = IniRead(@AppDataDir & "\Mozilla\Firefox\profiles.ini", "Profile0", "Path", "")
        $Mozilla_Firefox_profile_folder = StringReplace($Mozilla_Firefox_profile_folder, "/", "\")
EndIf
 
; EDIT MOZILLA FIREFOX PREFERENCES FILE
$InputFile = @AppDataDir & "\Mozilla\Firefox\" & $Mozilla_Firefox_profile_folder & "\prefs.js"
; String to find
$StringToFind = '"browser.startup.homepage"'
; New home page address
$HomePageAddress = "" ; write the desired home page address (inside quotes), for example: http://www.google.com/
; Delete the current home page address
Global $Array
_FileReadToArray ($InputFile, $Array)
$Array = _DeleteHomePageAddress ($Array, $StringToFind)
_FileWriteFromArray ($InputFile, $Array, 1)
; Write a new home page address
$File = FileOpen($InputFile, 257) ; UTF8 encoding without BOM
FileWriteLine($File, 'user_pref("browser.startup.homepage", ' & '"' & $HomePageAddress & '"' & ');')
FileClose($File)
 
Func _DeleteHomePageAddress ($Array, $StringToFind)
    Local $Item
    For $Element In $Array
        If StringInstr ($Element, $StringToFind) <> 0 Then
            _ArrayDelete ($Array, $Item)
        Else
            $Item+=1
        EndIf
    Next
    Return ($Array)
EndFunc