Các ví dụ mở đầun Chuột phải ngoài desktop -> new -> AutoIt v3 Script... Các ví dụ mở đầun Chuột phải lên file vừa tạo -> Edit Script... Các ví dụ mở đầun SciTE sẽ được mở... Các ví dụ m
Trang 1Jellydn – Lớp 06T1 – Khoa CNTT Đai học Bách Khoa Đà Nẵng
Trang 3Giới thiệu về AutoIt
n Tương tác với chương trình,file khác của máy tính.
n Tips: nên gõ và thực thi lại các ví dụ khi học !!!
http://www.autoitscript.com/autoit3/
Trang 4Các ví dụ mở đầu
n Chuột phải ngoài desktop -> new -> AutoIt v3 Script
Trang 5Các ví dụ mở đầu
n Đặt tên là helloworld.au3
Trang 6Các ví dụ mở đầu
n Chuột phải lên file vừa tạo -> Edit Script
Trang 7Các ví dụ mở đầu
n SciTE sẽ được mở
Trang 8Các ví dụ mở đầu
n Bạn thêm vào cuối file helloworld.au3
n MsgBox(0, "Tutorial", "Hello World!")
n Save
n Kiểm tra cú pháp :Tool->SyntaxCheck Prod
n Nhấn F5 (Tool -> Go)
n Kết quả
Trang 9Các ví dụ mở đầu
n Tạo file note.au3 như ví dụ trên
n Vào Start -> Run : gõ notepad
n Mở công cụ : AutoIt Window Info
n Vào Start->Programs->AutoIt v3->AutoIt Window Info
n Dùng để lấy thông tin của một cửa sổ ứng dụng
Trang 10Các ví dụ mở đầu
n Kích chuột vào của sổ notepad sẽ được thông tin về title
Trang 11Các ví dụ mở đầu
n Thêm vào cuối file note.au3
n Run("notepad.exe")
n WinWaitActive("Untitled - Notepad")
n Send("This is some text.")
Trang 12Các ví dụ mở đầu
n Chạy thử file ( Tool->Go hoặc F5)
n Kết quả
Trang 13Các ví dụ mở đầu
n Tiếp tục thêm vào cuối file note.au3
n WinClose("Untitled - Notepad")
Trang 14Các ví dụ mở đầu
n Khi tắt sẽ gặp thông báo -> lấy title
Trang 15Các ví dụ mở đầu
n Tiếp tục thêm vào cuối file note.au3
n WinWaitActive("Notepad", "Do you want to save")
n Send("!n")
n Save và thực thi (F5)
Trang 16Cú pháp
n Kiểu dữ liệu
n AutoIt chỉ 1 kiểu dữ liệu gọi là Variant
Trang 17n Có thể không khai báo mà sử dụng trực tiếp
n Ví dụ: $var1 = "create and assign"
Trang 20Cú pháp
n Là những biến chỉ đọc
n Đặt bởi AutoIt
n Tên của macro bắt đầu với @
n Không thể gán giá trị cho macro
Trang 23MsgBox(0, "Example", "$var was greater than 1")
Case $var > 10 AND $var <= 20
MsgBox(0, "Example", "$var was greater than 10")
Case $var > 20 AND $var <= 30
MsgBox(0, "Example", "$var was greater than 20")
Case $var > 30 AND $var <= 40
MsgBox(0, "Example", "$var was greater than 30")
Case $var > 40
MsgBox(0, "Example", "$var was greater than 40")
EndSelect
Trang 26$i = $i + 1 WEnd !")
Vòng lặp cho phép chạy trong nó vòng lặp While
khác
Trang 27$i = $i + 1 Until $i = 10
Vòng lặp cho phép chạy trong nó vòng lặp Do Until
khác
Trang 28$oExcel.quit
Vòng lặp không cho phép chạy trong nó vòng lặp With khác
Trang 30Cú pháp
n Vòng lặp
n For In Next
n ;Using an Array Dim $aArray[4]
FOR $element IN $aArray
$string = $string & $element & @CRLF NEXT
Msgbox(0,"For IN Arraytest","Result is: " & @CRLF & $string)
;Using an Object Collection
$oShell = ObjCreate("shell.application")
$oShellWindows=$oShell.windows
if Isobj($oShellWindows) then
$string=""
for $Window in $oShellWindows
$String = $String & $Window.LocationName & @CRLF next
msgbox(0,"","You have the following windows open:" & @CRLF & $String) else
msgbox(0,"","you have no open shell windows.") endif
Trang 31Cú pháp
n Định danh : giống như biến
n Func functioname ( [Const] [ByRef] $param1, , [Const] [ByRef] $paramN,
$doubled = MyDouble($val) MsgBox(0, "", $val & " doubled is " & $doubled)
$val = $doubled Next
Exit
Func MyDouble($value)
$value = $value * 2 Return $value
EndFunc
Trang 32Một số thủ thuật
n Thêm #NoTrayIcon vào đầu file
n Vista yêu cầu “quyền” trước khi thực thi
n Thêm #RequireAdmin vào đầu file
Trang 33GUI và lập trình sự kiện
n GUI(Graphical User Interfaces)
Trang 34GUI và lập trình sự kiện
n Các hàm GUI
n GUICreate() : tạo cửa sổ làm việc
n GUICtrlCreate…() : tạo các control tương ứng
n GUISetState() : hiện hay ẩn cửa sổ
n GUIGetMsg() : lấy thông tin về cửa sổ
n GUICtrlRead() : đọc dữ liệu từ control
n GUICtrlSetData() : ghi dữ liệu vào control
n GUICtrlSet…(): ghi dữ liệu vào một số thuộc tính khác ( màu sắc , font chữ,…)
Trang 35;Tao label va button
n GUICtrlCreateLabel("Hello world! How are you?", 30, 10)GUICtrlCreateButton("OK", 70, 50, 60)
;Hien cua so
;doi 2s
Trang 37n Sự kiện của control : trả về controlID
n Sự kiện của hệ thống : được khai báo trong GUIConstantsEx.au3
Trang 38$okbutton = GUICtrlCreateButton("OK", 70, 50, 60) GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg() Select
Case $msg = $okbutton MsgBox(0, "GUI Event", "You pressed OK!") Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting ") ExitLoop
EndSelect WEnd
Trang 40$msg = GUIGetMsg(1) Select
Case $msg[0] = $okbutton MsgBox(0, "GUI Event", "You pressed OK!") Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $mainwindow MsgBox(0, "GUI Event", "You clicked CLOSE on the main window! Exiting ")
ExitLoop EndSelect WEnd
Trang 41GUI và lập trình sự kiện
n Lập trình sự kiện
Trang 42GUI và lập trình sự kiện
n Lập trình sự kiện
n #include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Hello World", 200, 100) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60) GUICtrlSetOnEvent($okbutton, "OKButton")
GUISetState(@SW_SHOW) While 1
Sleep(1000) ; Idle around WEnd
Func OKButton()
;Note: at this point @GUI_CTRLID would equal $okbutton,
;and @GUI_WINHANDLE would equal $mainwindow MsgBox(0, "GUI Event", "You pressed OK!")
EndFunc Func CLOSEClicked()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;and @GUI_WINHANDLE would equal $mainwindow MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting ") Exit
Trang 43Lời kết
n Tới đây là bạn đã “vững” kiến thức về AutoIt
n Nên autoitscript.com để học thêm
n Hãy tìm ý tưởng và thử thực hiện nó bằng AutoIT
n Tài liệu này được biên soạn từ help của
AutoIt
n Mọi ý kiến góp ý gởi về địa chỉ
06Tonline.net@gmail.com