|
C# 模拟鼠标(mouse_event)
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Linq;
- using System.Runtime.InteropServices;
- using System.Text;
- using System.Threading.Tasks;
- namespace image_to_label
- {
- public class MouseMonitor
- {
- //public const int WM_LBUTTONDOWN = 513; // 鼠标左键按下
- //public const int WM_LBUTTONUP = 514; // 鼠标左键抬起
- //public const int WM_RBUTTONDOWN = 516; // 鼠标右键按下
- //public const int WM_RBUTTONUP = 517; // 鼠标右键抬起
- //public const int WM_MBUTTONDOWN = 519; // 鼠标中键按下
- //public const int WM_MBUTTONUP = 520; // 鼠标中键抬起
- public const int MOUSEEVENTF_MOVE = 0x0001; // 移动鼠标
- public const int MOUSEEVENTF_LEFTDOWN = 0x0002; // 鼠标左键按下
- public const int MOUSEEVENTF_LEFTUP = 0x0004; // 鼠标左键抬起
- public const int MOUSEEVENTF_RIGHTDOWN = 0x0008; // 鼠标右键按下
- public const int MOUSEEVENTF_RIGHTUP = 0x0010; // 鼠标右键抬起
- public const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; // 鼠标中键按下
- public const int MOUSEEVENTF_MIDDLEUP = 0x0040; // 鼠标中键抬起
- public const int MOUSEEVENTF_ABSOLUTE = 0x8000; // 绝对坐标
- //[DllImport("user32.dll", SetLastError = true)]
- [DllImport("user32.dll", SetLastError = true, EntryPoint = "mouse_event")]
- public static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
- [DllImport("user32.dll", SetLastError = true, EntryPoint = "SetCursorPos")]
- public static extern int SetCursorPos(int x, int y);
- [DllImport("user32.dll", SetLastError = true, EntryPoint = "GetCursorPos")]
- public static extern int GetCursorPos(out Point x);
- }
- }
复制代码 相应的鼠标光标坐标为:
- try
- {
- int Mx = 0, My = 0;
- Mx = this.hWindowControl1.Location.X;
- My = this.hWindowControl1.Location.Y + 0 * this.hWindowControl1.Height;
- Point lpPoint = new Point(0, 0);
- MouseMonitor.GetCursorPos(out lpPoint);
- Mx = lpPoint.X;
- My = lpPoint.Y;
- MouseMonitor.SetCursorPos(Mx, My);
- MouseMonitor.mouse_event(MouseMonitor.MOUSEEVENTF_RIGHTDOWN | MouseMonitor.MOUSEEVENTF_RIGHTUP | MouseMonitor.MOUSEEVENTF_MOVE, Mx, My, 0, 0);
- }
- catch { }
复制代码
参考:
C# 模拟鼠标(mouse_event)
C#调用API:mouse_event 模拟鼠标事件
send_mouse_down_event,send_mouse_up_event等如何使用
|
|