Tải bản đầy đủ (.pdf) (6 trang)

Programming HandBook part 124 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (297.93 KB, 6 trang )


; AVI
GuiCtrlCreateAvi("sampleAVI.avi",0, 180, 10, 32, 32, $ACS_AUTOPLAY)
GuiCtrlCreateLabel("Sample avi", 170, 50)

; GUI MESSAGE LOOP
GuiSetState()

Một cách khác, thuận tiện hơn, đó là sử dụng một soft dạng GUI Builder. Có nhiều
GUI Builder dành cho AutoIt, nhưng theo quan điểm cá nhân, có lẽ Koda là khá
nhất. Công cụ này có thể tại về từ trang web:
ormdesign.html

Phiên bản mới nhất là 1.6, cập nhật ngày 19/9.

Koda cho phép bạn dễ dàng tạo GUI chỉ bằng cách drag-and-drop vào form, sau đó
sẽ tự động sinh code AutoIt để bạn đưa vào script của mình. Rất rất tiện lợi nếu so
sánh với việc code từ đầu bằng tay.

6.2. Gắn GUI với code

Có GUI rồi, là đến lúc bạn muốn gắn nó với các mã AutoIt thực thi các lệnh đã viết
từ trước.

AutoIt hỗ trợ 2 chế độ tương tác với GUI: OnEvent và MessageLoop. Có thể đảo
qua lại 2 chế độ bằng cách dùng lệnh:
Code:
Opt("GUIOnEventMode", 1)

Ở chế độ OnEvent, ta sẽ gắn từng "sự kiện" với một hàm tương ứng. Ví dụ, ta gắn
"sự kiện" người dùng click nút Close với hàm Close():


Code:
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE")
Func CLOSE()
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting ")
Exit
EndFunc

Ở chế độ MessageLoop, ta có một cách tiếp cận hoàn toàn khác. AutoIt sẽ tạo một
vòng lặp vô hạn, liên tục kiểm tra xem có sự kiện nào xảy ra với GUI ko - thông
qua một hàm mang tên GUIGetMsg.

Toàn bộ việc gắn code với GUI được thực hiện qua một vòng lặp While:
Code:
While 1
$msg = GUIGetMsg()

Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting ")
ExitLoop
EndSelect
WEnd


Identical(UDS)

7. Chạy thử, biên dịch, đóng gói và phân phối

Có script hoàn chỉnh. Có GUI hoàn hảo. Đó là lúc bạn nghĩ đến việc tiếp theo.
Phân phối tới càng nhiều người càng tốt (nhưng đừng dùng cách phát tán qua

YM nhé )

Để chạy script viết bằng AutoIt, bạn hãy mở file AutoIt3.exe và chọn đến file .au3
tương ứng.

Để biên dịch thành file exe và đem đi phân phối, bạn cần đến công cụ Aut2Exe.
Bạn cần chỉ định file mã nguồn, tên exe sẽ tạo, icon (nếu thích) và bấm Convert.

Nếu bạn muốn mình có thể dịch ngược từ exe về au3 trong trường hợp đánh mất
file .au3 gốc , hãy chọn Allow decompilation và gõ vào password của mình.
Pass này sẽ dùng để tránh người khác dịch ngược file script của bạn.

Nếu để ý kỹ, bạn sẽ thấy khi kích phải chuột vào file exe đã tạo + chọn properties,
sẽ có thông tin File Version là phiên bản của AutoIt. Bạn rất có thể sẽ muốn loại bỏ
thông tin này + đưa thông tin của riêng mình vào cho personal

Điều đó hoàn toàn có thể thực hiện được khi bạn dùng Resource Editor.

Tuy nhiên, nếu cố edit file exe đã biên dịch, bạn sẽ thấy mình phí công vô ích, bởi
file exe mới sẽ ko hoạt động

Hãy edit file AutoItSC.bin cùng thư mục với Aut2Exe.exe với những thông tin mà
bạn thích, sau đó mới tiến hành biên dịch. Lần này, kết quả sẽ như mong đợi

Bạn sẽ có một file .exe của riêng mình, với icon tùy ý, info ở mục properties tùy ý.
Khó có thể nhận ra đó là script viết bằng AutoIt
Identical(UDS)

8. Phụ lục 1: AutoIt or not AutoIt?


Có thể nói ko ngoa, AutoIt là một con dao 2 lưỡi. Nó được tạo ra để giúp người
dùng làm các script tự động hóa, giúp mình dễ thở hơn . Tuy vậy, AutoIt cũng
có thể được dùng để tạo một con trojan, một con virus, whatever

Phát tán con "virus" này là quá đơn giản. Hãy nhìn những j` các "virus" YM đã
làm.

Như đã nói ở trên, một file exe có thể được edit để khi mới nhìn vào, bạn khó có
thể biết nó có phải là một script AutoIt hay ko.

Nhưng, điều đó thực ra cũng ko hoàn toàn đúng. Một script viết bằng AutoIt, cho
dù có được biên dịch với toàn bộ info trong file .bin bị luộc mất, vẫn có thể bị lộ
danh tính, bằng chính một script AutoIt.

Đây là hàm nhận diện script viết bằng AutoIt, được tớ sưu tầm từ forum của nó:
Code:
Func _IsAutoItExe($hFile)
Local $hNew = StringTrimRight($hFile, 4) & 'verify.exe'
FileCopy($hFile, $hNew)
RunWait('"' & @ProgramFilesDir & '\AutoIt3\Aut2Exe\UPX.exe" -d "' &
$hNew & '"', '', @SW_HIDE)
Local $sString = String(BinaryString(FileRead($hNew)))
FileDelete($hNew)
Local $sFind =
'3C6465736372697074696F6E3E4175746F497420333C2F6465736372697074696
F6E3E'
If StringInStr($sString, $sFind) Then Return 1
Return SetError(1, 0, 0)
EndFunc
__________________


Identical(UDS)

9. Phụ lục 2: Công cụ xem thông tin về các cửa sổ - Au3Info.exe

Tự động hóa các công việc - đó cũng là lý do AutoIt có khả năng tương tác với các
chương trình khác. Nhận diện một cửa sổ, xác định tọa độ chuột để giả lập việc
click, đó là những ứng dụng của Au3Info.exe.

Bạn chỉ việc chạy file này, trỏ đến cửa sổ cần xem thông tin. Mọi điều cần biết -
title, class, mouse position, pixel color, control info sẽ hiện lên. Bạn có thể bấm
Ctrl + Alt + F để giữ nguyên trạng thái của cửa sổ thông tin, và copy những thông
tin đó vào script mình đang viết để dùng.

10. Kết

Trên đây là tut dài nhất, mất công nhất mà tớ từng viết. Hết vụ này xin phép nghỉ
viết tut dài hạn

Hãy coi đây là cái nhìn tổng quan về AutoIt, về ngôn ngữ AutoIt, các công cụ đi
kèm, những thứ cần thiết, những điều mà bạn có thể quan tâm

Xin hết
Identical(UDS)

Bài 0: Quá trình phát triển công nghệ Web - Nguyên nhân xuất hiện công
nghệ AJAX.

Trước khi tìm hiểu về Ajax, chúng ta cùng xem xét quá trình phát triển các công
nghệ Web, nguyên nhân và hoàn cảnh xuất hiện công nghệ Ajax.

Quá trình phát triển các công nghệ trong ứng dụng Web

Ban đầu, các trang Web là tĩnh; người dùng gửi yêu cầu một tài nguyên nào đó, và
server sẽ trả về tài nguyên đó. Các trang Web không có gì hơn là một văn bản được
định dạng và phân tán. Đối với các trình duyệt, thì các trang Web tĩnh không phải
là các vấn đề khó khăn, và trang Web lúc đầu chỉ để thông tin về các sự kiện, địa
chỉ, hay lịch làm việc qua Internet mà thôi, chưa có sự tương tác qua các trang
Web. Năm 1990, Tim Berners-Lee, tại CERN, đã sáng chế ra HTML (Hyper Text
Markup Language), ngôn ngữ đánh dấu siêu văn bản. HTML rất đơn giản và dễ
dùng, và nó trở thành một ngôn ngữ rất phổ biến và cơ bản.

Tuy nhiên, không lâu sau đó, nhu cầu về các trang Web động, có sự tương tác ngày
một tăng, chính vì thế sự ra đời các công nghệ Web động là một điều tất yếu. Sau
đây là một số công nghệ Web động cơ bản:

1. CGI
Giải pháp đầu tiên để làm các trang Web động là Common Gateway Interface
(CGI). CGI cho phép tạo các chương trình chạy khi người dùng gửi các yêu cầu.
Giả sử khi cần hiển thị các các mục để bán trên Web site – với một CGI script ta có
thể truy nhập cơ sở dữ liệu sản phẩm và hiển thị kết quả. Sử dụng các form HTML
đơn giản và các CGI script, có thể tạo các “cửa hàng” ảo cho phép bán sản phẩm
cho khách hàng qua một trình duyệt. CGI script có thể được viết bằng một số ngôn
ngữ từ Perl cho đến Visual Basic.
Tuy nhiên, CGI không phải là cách an toàn cho các trang Web động. Với CGI,
người khác có thể chạy chương trình trên hệ thống. Vì thế có thể chạy các chương
trình không mong muốn gây tổn hại hệ thống. Nhưng dù vậy, cho đến hôm nay thì
CGI vẫn còn được sử dụng.

2. Applet
Tháng 5/1995, John Gage của hãng Sun và Andressen (nay thuộc Netscape

Communications Corporation) đã công bố một ngôn ngữ lập trình mới có tên Java.
Netscape Navigator đã hỗ trợ ngôn ngữ mới này, và một con đường mới cho các
trang Web động được mở ra, kỷ nguyên của applet bắt đầu.

Applet cho phép các nhà phát triển viết các ứng dụng nhỏ nhúng vào trang Web.
Khi người dùng sử dụng một trình duyệt hỗ trợ Java, họ có thể chạy các applet
trong trình duyệt trên nền máy ảo Java Virtual Machine (JVM). Dù rằng applet làm
được nhiều điều song nó cũng có một số nhược điểm: thường bị chặn bởi việc đọc

×