I, Giới thiệu về Au3info
II, Cách sử dụng Au3info
Để sử dụng Au3info thì vô cùng đơn giản, nhưng vấn đề quan trọng hơn đó
là chúng ta xử lí những dữ liệu mà Au3info cung cấp cho chúng ta như thế
nào cho hiệu quả??? Cái đó mới là điều quan trọng nhất !!!
Đầu tiên là lấy info của một cửa sổ bằng Au3info, Các bước thực hiện như sau:
+> Bước 1: Chạy Au3info ( bạn có thể tìm thấy ở Program Files\AutoIt3\Au3Info.exe).
Chờ cho đến khi cửa sổ Au3info xuất hiện
+> Bước 2: Kéo và dê tâm ngắm trong "Finder Tool" tới cửa sổ mà bạn muốn lấy info và nhả chuột.
Trong ví dụ dưới đây tôi làm với "Notepad"
Và đơn giản chỉ cần như vậy là các bạn đã có info của cửa sổ mà mình cần, ở đây là "notepad".
*Các bạn cần chú ý một số phần sau trên "au3info" sau khi lấy info của 1 cửa sổ bất kì
Cơ bản info của cửa sổ bao gồm:
"Tilte" là title của cửa sổ
"Class" là Class của cửa sổ
Bản tóm tắt toàn bộ info của cửa sổ tìm kiếm.
Mọi thông tin cơ bản đều được hiển thị tại bản tóm tắt này bao gồm: Window, Control, Mouse, Text, ...
=> Như mình đã nói, việc lấy info bằng Au3info rất "dễ" nhưng mà sử dụng nó lại không hẳn là "dễ" một chút nào. :D
+> Title: Có rồi! Trong phần Basic Window Info có rồi
+> Text: Các bạn có tìm thấy ở đâu không ??? Nó ở phần Visible Text và Hidden Text đó. Nhưng theo tôi các bạn cứ để rỗng $text = "" vì không cần thiết sử dụng nó :D
+> controlID: Các bạn tìm và tôi cũng tìm ... Thấy rồi! Tôi nhìn thấy "ID" ở phần "Control", nhưng
câu hỏi đặt ra là cái này có thay đổi hay không??? Để yên tâm trong việc này tôi khuyên các bạn nên sử dụng "ClassnameNN" sẽ nhanh chóng và đơn giản nhưng rất chính xác đó.
+> String: Cái này là do mình truyền vào nên "vô tư đê" :))
+> Flag: cờ hiệu là tham số tùy chọn, có thể có hoặc không, tôi thì nghĩ các bạn nên để mặc định và không cần quan tâm đến tham số này.
!!! OK !!!
Vậy là các tham số đã được kiểm tra là có khả năng đáp ứng hàm ControlSend. Và bây giờ sang công đoạn tiếp theo là đưa vào áp dụng!!! Mở SciTE lên và cùng thử nào :D
Đầu tiên là lấy info của một cửa sổ bằng Au3info, Các bước thực hiện như sau:
+> Bước 1: Chạy Au3info ( bạn có thể tìm thấy ở Program Files\AutoIt3\Au3Info.exe).
Chờ cho đến khi cửa sổ Au3info xuất hiện
+> Bước 2: Kéo và dê tâm ngắm trong "Finder Tool" tới cửa sổ mà bạn muốn lấy info và nhả chuột.
Trong ví dụ dưới đây tôi làm với "Notepad"
Và đơn giản chỉ cần như vậy là các bạn đã có info của cửa sổ mà mình cần, ở đây là "notepad".
*Các bạn cần chú ý một số phần sau trên "au3info" sau khi lấy info của 1 cửa sổ bất kì
Cơ bản info của cửa sổ bao gồm:
"Tilte" là title của cửa sổ
"Class" là Class của cửa sổ
Cơ bản control mà "Finder Tool" tìm được, bao gồm:
"Class" là Class của control
"Instance" là Instance của control ( có thể hiểu nôm na là số thứ tự của Class control)
Bản tóm tắt toàn bộ info của cửa sổ tìm kiếm.
Mọi thông tin cơ bản đều được hiển thị tại bản tóm tắt này bao gồm: Window, Control, Mouse, Text, ...
=> Như mình đã nói, việc lấy info bằng Au3info rất "dễ" nhưng mà sử dụng nó lại không hẳn là "dễ" một chút nào. :D
III, Đọc hiểu các thông tin lấy được bằng Au3info
Đây là phần mà mình thấy quan trọng nhất trong bài viết này, và nó cũng
sẽ là cái mà nhiều bạn thắc mắc nhất khi sử dụng Au3info.
Lấy được info của một cửa sổ là một vấn đề, nhưng sử dụng nó như thế nào cho nó hiệu quả lại là một chuyện khác :D.
Để nói về vấn đề này mình sẽ lấy ví dụ là việc sử dụng hàm "ControlSend"
để tương tác với "notepad" với mục đích, nhập một đoạn "text" vào ô
"Edit" của "notepad". Các bạn chú ý theo dõi nhé!
Sau khi đã lấy được info của "Notepad" từ "au3info". Để sử dụng nó chúng
ta xem qua hàm ControlSend yêu cầu các tham số truyền vào như thế nào
để truyền vào cho đúng :D
và chú thích các tham số truyền vào là như thế nào???ControlSend ( "title", "text", controlID, "string" [, flag = 0] )
+> title: title/ handle/ class của cửa sổ muốn tác động đến.Các bạn quay lại với au3info của các bạn xem, có đầy đủ các tham số mà hàm "ControlSend" yêu cầu chưa??? Để tôi cùng bạn kiểm tra xem nhé :D
+> text: đoạn text của cửa sổ (dùng để phân biệt khi có các cửa sổ trùng title, class).
+> controlID: Id của control muốn tác động/ trực tiếp nhận tác động.
+> string: đoạn string mà bạn muốn gửi đến controlID.
+> flag: cờ hiệu, cho biết cách hoạt động của hàm ControlSend. Mặc định là 0.
+> Title: Có rồi! Trong phần Basic Window Info có rồi
+> Text: Các bạn có tìm thấy ở đâu không ??? Nó ở phần Visible Text và Hidden Text đó. Nhưng theo tôi các bạn cứ để rỗng $text = "" vì không cần thiết sử dụng nó :D
+> controlID: Các bạn tìm và tôi cũng tìm ... Thấy rồi! Tôi nhìn thấy "ID" ở phần "Control", nhưng
câu hỏi đặt ra là cái này có thay đổi hay không??? Để yên tâm trong việc này tôi khuyên các bạn nên sử dụng "ClassnameNN" sẽ nhanh chóng và đơn giản nhưng rất chính xác đó.
+> String: Cái này là do mình truyền vào nên "vô tư đê" :))
+> Flag: cờ hiệu là tham số tùy chọn, có thể có hoặc không, tôi thì nghĩ các bạn nên để mặc định và không cần quan tâm đến tham số này.
!!! OK !!!
Vậy là các tham số đã được kiểm tra là có khả năng đáp ứng hàm ControlSend. Và bây giờ sang công đoạn tiếp theo là đưa vào áp dụng!!! Mở SciTE lên và cùng thử nào :D
ControlSend("Untitled - Notepad","","Edit1","Welcome to AutoIt Tutorial")Chạy thử câu lệnh này xem như thế nào nào :D.