Trong bài viết này, bạn sẽ học cách sử dụng hai hàm nền tảng trong AutoIt là Send và MouseClick để tự động hóa các thao tác gõ phím và click chuột lặp đi lặp lại trên máy tính Windows.
Khái niệm
Trong tự động hóa với AutoIt, thao tác tương tác giao diện người dùng thường bao gồm gõ phím và di chuyển/click chuột:
- Hàm Send: Dùng để gửi các phím bấm giả lập tới cửa sổ ứng dụng đang hoạt động (active window).
- Hàm MouseClick: Dùng để thực hiện thao tác nhấp chuột (click trái, click phải, double click...) tại tọa độ xác định hoặc tại vị trí con trỏ chuột hiện tại.
Cú pháp
Cú pháp chi tiết của hàm MouseClick trong AutoIt:
MouseClick ( "button" [, x, y [, clicks = 1 [, speed = 10]]] )Chi tiết các tham số:
- button: Tên nút chuột cần nhấp. Các giá trị hợp lệ gồm:
"left","right","middle","primary","secondary","main","menu"hoặc sử dụng các hằng số từ thư việnAutoItConstants.au3như$MOUSE_CLICK_LEFT,$MOUSE_CLICK_PRIMARY. - x, y: (Tùy chọn) Tọa độ màn hình để di chuyển chuột đến. Nếu bỏ trống, chuột sẽ nhấp tại vị trí hiện tại.
- clicks: (Tùy chọn) Số lần nhấp chuột, mặc định là 1.
- speed: (Tùy chọn) Tốc độ di chuyển chuột từ 1 (nhanh nhất) đến 100 (chậm nhất). Giá trị 0 sẽ di chuyển chuột ngay lập tức. Mặc định là 10.
- Giá trị trả về: Trả về 1 nếu thành công, trả về 0 nếu thất bại (do nút không hợp lệ hoặc thiếu tham số).
Cú pháp căn bản của hàm Send:
Send ( "keys" [, flag = 0] )Ví dụ minh họa
Dưới đây là đoạn mã ví dụ minh họa cách kết hợp thư viện AutoItConstants.au3 để thực hiện thao tác nhấp đúp chuột tại tọa độ cụ thể và gửi chuỗi phím bấm:
#include <AutoItConstants.au3> Rhine; Nhấp đúp chuột (2 lần) tại tọa độ x = 0, y = 500 với nút chuột chính (primary) MouseClick($MOUSE_CLICK_PRIMARY, 0, 500, 2) Rhine; Gửi chuỗi phím bấm tự động Send("Hello World!")Lỗi thường gặp
- Thiếu tọa độ y: Truyền tham số
xnhưng quên truyềnysẽ khiến hàmMouseClickthất bại và trả về 0. - Tên nút chuột không hợp lệ: Nhập sai chuỗi tên nút chuột hoặc chưa khai báo thư viện
AutoItConstants.au3khi dùng hằng số. - Thao tác sai cửa sổ với Send: Hàm
Sendchỉ gửi phím bấm vào ứng dụng đang active. Nếu ứng dụng chưa được chọn đúng, văn bản sẽ gửi nhầm sang ứng dụng khác.
Bài tập/thực hành
Hãy viết một kịch bản AutoIt thực hiện các bước sau:
- Di chuyển và nhấp chuột phải tại vị trí x = 100, y = 200.
- Thực hiện nhấp đúp chuột trái tại vị trí x = 300, y = 400 với tốc độ di chuyển chuột bằng 0.
- Sử dụng hàm
Sendđể tự động nhập một đoạn văn bản ngắn.
Tổng kết
Việc làm chủ hai hàm Send và MouseClick giúp bạn dễ dàng tự động hóa hầu hết các thao tác cơ bản của người dùng trên hệ điều hành Windows. Khi kết hợp tọa độ và số lần nhấp chuột chính xác, kịch bản AutoIt sẽ giúp bạn tiết kiệm đáng kể thời gian xử lý công việc hằng ngày.
Nguồn tham khảo
- Mouse click function not working..... properly....
- Function MouseClick
- Simulate Mouse Click / Click and Hold on keyboard
- Sending keyboard & mouse clicks
- keypress/mouse click emulation. Simple script.
Nhận xét
Đăng nhận xét