Một thao tác của loại "chuột" là một thuộc tính cần thiết của bất kỳ máy tính nào. Không có nó, không thể tưởng tượng được việc kiểm soát hoặc điều hướng thông qua các ứng dụng. Người thao tác này chủ động tương tác với người dùng bằng cách hiển thị các hành động của anh ta (chuyển động, nhấp chuột, cuộn) trên màn hình. Đối với một số tác vụ lập trình, có thể cần phải mô phỏng chuột phần mềm.
Nó là cần thiết
Môi trường phát triển Microsoft Visual C ++. Net (không thấp hơn 2003)
Hướng dẫn
Bước 1
Cài đặt Microsoft Visual C ++. Net (2003 trở lên). Có một số phiên bản của môi trường phát triển này - trả phí và miễn phí. Chúng có thể được tải xuống từ trang web của nhà phát triển. Sau khi cài đặt, tạo một dự án mới và kết nối System. Windows. Forms và System. Drawing như hình dưới đây: using System. Windows. Forms; sử dụng System. Drawing;
Bước 2
Để di chuyển chuột trên màn hình trong hệ điều hành Windows, hãy sử dụng các chức năng đặt trực tiếp vị trí của con trỏ trên màn hình. Ví dụ: sử dụng đoạn mã sau: Cursor. Position = new Point (x, y); Dòng này sẽ di chuyển con trỏ đến vị trí được chỉ định trong hàm tạo của lớp Point (x, y) (trong đó x và y là tọa độ của vị trí đặt con trỏ) … Nếu bạn cần đặt vị trí con trỏ nhiều lần, hãy tạo một phiên bản của lớp Point và sử dụng phương thức để thay đổi tọa độ cho nó. Thao tác này sẽ tiết kiệm bộ nhớ: Point point = new Point (0, 0); Cursor. Position = point. Offset (20, 100); Cursor. Position = point. Offset (40, -20); Đoạn mã này tạo một đối tượng của lớp Point () với tọa độ 0, 0. Dòng thứ hai dịch Point đi 20 pixel trong X và 100 pixel trong Y. Tọa độ hiện tại mà đối tượng point trỏ tới là 20, 100. Dòng thứ ba lại xảy ra Offset Point theo số pixel được chỉ định (tương ứng là 40 và -20). Tọa độ hiện tại là 60 (20 + 40) trong X và 80 (100-20) trong Y.
Bước 3
Sử dụng các hàm SendInput () hoặc mouse_event () của Win32 để mô phỏng một cú nhấp chuột. Ví dụ: để mô phỏng một cú nhấp chuột phải theo chương trình, hãy sử dụng đoạn mã sau: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // để dễ sử dụng, hãy tạo một bảng liệt kê với các hằng số cần thiết (cờ) // xác định hành động của chuột: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000}; // sử dụng - nhấp vào tọa độ đặt bên dưới: const int x = 39000; // tọa độ của Xconst int y = 12000; // tọa độ của Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Tuyệt đối | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Bước 4
Giả lập một cú nhấp chuột bằng cách gửi các thông báo WM_LBUTTONDOWN và WM_LBUTTONUP bằng cách sử dụng hàm Win API SendMessage (). Ví dụ, như hình dưới đây: void OnBtPerformClick (object sender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONRUP}