Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Tạo giả lập rê chuột với hàm mouse_event của Win32 API như thế nào?

  1. #1
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    Mặc định Tạo giả lập rê chuột với hàm mouse_event của Win32 API như thế nào?

    hàm API mouse_event giúp tạo giả lập click chuột trái phải .nhưng bây giờ em muốn ấn giữ chuột trái ở tọa độ
    (50,50) rồi rê chuột đến tọa độ (500,500) mới nhả chuột thì phải viết hàm ntn ?

  2. #2
    Ngày gia nhập
    07 2012
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi doveandrose Xem bài viết
    hàm API mouse_event giúp tạo giả lập click chuột trái phải .nhưng bây giờ em muốn ấn giữ chuột trái ở tọa độ
    (50,50) rồi rê chuột đến tọa độ (500,500) mới nhả chuột thì phải viết hàm ntn ?
    Visual C# Code:
    1. using System;
    2. using System.Drawing;
    3. using System.Windows.Forms;
    4. using System.Runtime.InteropServices;
    5. namespace MouseMove
    6. {
    7.     public partial class Form1 : Form
    8.     {
    9.        [DllImport("user32.dll")]
    10.         static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
    11.  
    12.        [Flags]
    13.        public enum MouseEventFlags
    14.        {
    15.            LEFTDOWN = 0x00000002,
    16.            LEFTUP = 0x00000004,
    17.            MIDDLEDOWN = 0x00000020,
    18.            MIDDLEUP = 0x00000040,
    19.            MOVE = 0x00000001,
    20.            ABSOLUTE = 0x00008000,
    21.            RIGHTDOWN = 0x00000008,
    22.            RIGHTUP = 0x00000010
    23.        }
    24.        public enum MouseEventDataXButtons : uint
    25.        {
    26.            XBUTTON1 = 0x00000001,
    27.            XBUTTON2 = 0x00000002
    28.        }
    29.         public Form1()
    30.         {
    31.             InitializeComponent();
    32.         }
    33.         private void btnMove_Click(object sender, EventArgs e)
    34.         {
    35.             Move_LeftClick(50, 50, 500, 500);
    36.         }
    37.         public static void Move_LeftClick(int startx, int starty, int desx,int desy)
    38.         {
    39.            
    40.             mouse_event((int)(MouseEventFlags.LEFTDOWN), 0, 0, 0, 0);
    41.             while (startx < desx || starty < desy)
    42.             {
    43.                 Point tmp = new System.Drawing.Point(startx, starty);
    44.                 Cursor.Position = tmp;
    45.                 if (startx < desx)
    46.                 {
    47.                     startx++;
    48.                 }
    49.                 if (starty < desy)
    50.                 {
    51.                     starty++;
    52.                 }
    53.             }
    54.             mouse_event((int)(MouseEventFlags.LEFTUP), 0, 0, 0, 0);
    55.         }
    56.     }
    57. }
    nguồn mình lấy bên này http://www.pinvoke.net/default.aspx/user32.mouse_event

Các đề tài tương tự

  1. Kết nối và thao tác ADO với SQL trong win32 ?
    Gửi bởi PhuongSmith trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 09-03-2013, 11:36 AM
  2. Tạo 1 cửa sổ đơn giản với Win32 API như thế nào ?
    Gửi bởi coolboy2295 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 09-08-2012, 11:37 AM
  3. Cách vẽ 1 vài hình đồ họa đơn giản trong Win32 Project?
    Gửi bởi sadboy309 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 12-05-2011, 07:28 PM
  4. Tách chuỗi số giảm dần trong một chuỗi lớn, thuật toán xử lý như thế nào?
    Gửi bởi longtom trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 12-05-2009, 04:10 PM
  5. Lập trình win32 API | Xử lý nhấp chuột vào các item trong listbox?
    Gửi bởi haba trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 08-04-2009, 12:45 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn