internal MouseEventHandler(NativeDLL.MOUSE_EVENT_RECORD record) { Position = new Point(record.dwMousePosition.X, record.dwMousePosition.Y); ButtonState = (ButtonState)record.dwButtonState; ControlKeyState = (ControlKeyState)record.dwControlKeyState; MouseEventFlag = (MouseEventFlag)record.dwEventFlags; }
public MessageMouseArgs(int x, int y, int wheelDelta, MouseEventFlag flags) { X = x; Y = y; this.wheelDelta = wheelDelta; this.flags = flags; }
/// <summary> /// Initializes a new instance of the UserMouseCommand with specified informatin. /// </summary> /// <param name="mouseX">X-coordinate of the mouse (absolute).</param> /// <param name="mouseY">Y-coordinate of the mouse (absolute).</param> /// <param name="wheelMovement">The amount of wheel movement.</param> /// <param name="flag">The flag that indicates which mouse event happens.</param> public UserMouseCommand(int mouseX, int mouseY, int wheelMovement, MouseEventFlag flag) { this.MouseX = mouseX; this.MouseY = mouseY; this.WheelMovement = wheelMovement; this.MouseEventFlag = flag; }
private void Virtual_MouseEvent(MouseButtons button, EventType type = EventType.Click, bool doubleClick = false) { try { MouseEventFlag flagUp = new MouseEventFlag(); MouseEventFlag flagDown = new MouseEventFlag(); switch (button) { case MouseButtons.Left: flagUp = MouseEventFlag.LeftUp; flagDown = MouseEventFlag.LeftDown; break; case MouseButtons.Middle: flagUp = MouseEventFlag.MiddleUp; flagDown = MouseEventFlag.MiddleDown; break; case MouseButtons.Right: flagUp = MouseEventFlag.RightUp; flagDown = MouseEventFlag.RightDown; break; default: //defaul left button flagUp = MouseEventFlag.LeftUp; flagDown = MouseEventFlag.LeftDown; break; } if (type == EventType.Click) { int count = doubleClick == false ? 1 : 2;//check for (int i = 0; i < count; i++) { mouse_event(flagUp, 0, 0, 0, 0); mouse_event(flagDown, 0, 0, 0, 0); } } else { if (type == EventType.Down) { mouse_event(flagDown, 0, 0, 0, 0); } else if (type == EventType.Up) { mouse_event(flagUp, 0, 0, 0, 0); } } } catch (Exception) { throw; } }
/// <summary> /// 触发鼠标事件 /// </summary> /// <param name="eventID">事件ID</param> /// <param name="dx">横坐标</param> /// <param name="dy">纵坐标</param> /// <param name="data">滚轮值</param> public static void mouseEvent(String eventID, int dx, int dy, int data) { MouseEventFlag flag = MouseEventFlag.Move; if (eventID == "SETCURSOR") { SetCursorPos(dx, dy); return; } else if (eventID == "MOVE") { flag = MouseEventFlag.Move; } else if (eventID == "LEFTDOWN") { flag = MouseEventFlag.LeftDown; } else if (eventID == "LEFTUP") { flag = MouseEventFlag.LeftUp; } else if (eventID == "RIGHTDOWN") { flag = MouseEventFlag.RightDown; } else if (eventID == "RIGHTUP") { flag = MouseEventFlag.RightUp; } else if (eventID == "MIDDLEDOWN") { flag = MouseEventFlag.MiddleDown; } else if (eventID == "MIDDLEUP") { flag = MouseEventFlag.MiddleUp; } else if (eventID == "XDOWN") { flag = MouseEventFlag.XDown; } else if (eventID == "XUP") { flag = MouseEventFlag.XUp; } else if (eventID == "WHEEL") { flag = MouseEventFlag.Wheel; } else if (eventID == "VIRTUALDESK") { flag = MouseEventFlag.VirtualDesk; } else if (eventID == "ABSOLUTE") { flag = MouseEventFlag.Absolute; } mouse_event(flag, dx, dy, data, 0); }
public static void MoveAt(Point Point) { MouseEventFlag Flag = MouseEventFlag.Move | MouseEventFlag.Absolute; int X = (int)((ABSOLUTE_SIZE / ActualDisplaySize.Width) * Point.X); int Y = (int)((ABSOLUTE_SIZE / ActualDisplaySize.Height) * Point.Y); Event((int)Flag, X, Y, 0, IntPtr.Zero); }
public static void MouseEvent(MouseEventFlag flag, int data = 0) { mouse_event((uint)flag, 0, 0, data, 0); }
public static extern void mouse_event(MouseEventFlag dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
static extern void mouse_event(MouseEventFlag flags, int dx, int dy, int buttons, UIntPtr extraInfo);
private static extern void mouse_event(MouseEventFlag dwFlags, int dx, int dy, uint dwData, UIntPtr dwExtraInfo);
public static void Send(MouseEventFlag mouseEventFlag, int dx, int dy, uint dwData) { mouse_event(mouseEventFlag | MouseEventFlag.Absolute, dx, dy, dwData, UIntPtr.Zero); }
public static extern IntPtr mouse_event(MouseEventFlag dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
public void HandleMouseClick(ParsePack pp) { MouseEventFlag flag = (MouseEventFlag)pp.getInt(); mouse_event(flag, 0, 0, 0, UIntPtr.Zero); }
private static extern void mouse_event(MouseEventFlag flags, int dx, int dy, int data, int extraInfo);
public static extern void mouse_event(MouseEventFlag flags, int dx, int dy, int data, UIntPtr extraInfo); //UIntPtr指针多句柄类型
public extern static void mouse_event(MouseEventFlag mouseEventFlag, int incrementX, int incrementY, uint data, UIntPtr extraInfo);
private void mouse_event(MouseEventFlag mouseEventFlag, int v1, int v2, int v3, int v4) { throw new NotImplementedException(); }
public static void MoveAbsolute(Point Point) { MouseEventFlag Flag = MouseEventFlag.Move | MouseEventFlag.Absolute; Event((int)Flag, (int)Point.X, (int)Point.Y, 0, IntPtr.Zero); }
public void HandleMouseClick(DataPack dp) { MouseEventFlag flag = (MouseEventFlag)dp.ReadShort(); mouse_event(flag, 0, 0, 0, UIntPtr.Zero); }
public static extern void Mouse_event(MouseEventFlag flags, int dx, int dy, uint data, int extraInfo);
public static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, int extraInfo);
public static extern void mouse_event(MouseEventFlag dwFlags, int dx, int dy, uint dwData, uint dwExtraInfo);
private static extern int mouse_event(MouseEventFlag dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
public static extern void mouse_event(MouseEventFlag dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);
public static extern void Mouse_Event(MouseEventFlag flag, int dx, int dy, uint data, UIntPtr extraInfo);
private void MouseEvent(System.Drawing.Point location, MouseEventFlag flag) { SetCursorPos(location.X, location.Y); mouse_event(flag, 0, 0, 0, UIntPtr.Zero); }
public static extern void MouseEvent4Wheel(MouseEventFlag flags, int dx, int dy, int data, UIntPtr extraInfo);
/// <summary> /// Raises a mouse event using absolute coordinate. /// </summary> /// <param name="flags">The specific mouse event.</param> /// <param name="mouseX">X-coordinate of the mouse (absolute).</param> /// <param name="mouseY">Y-coordinate of the mouse (absolute).</param> /// <param name="wheelMovement">The amount of wheel movement.</param> public static void RaiseMouseEvent(MouseEventFlag flags, int mouseX, int mouseY, int wheelMovement) { mouse_event(flags | MouseEventFlag.Absolute, mouseX, mouseY, wheelMovement, UIntPtr.Zero); }
//鼠标操作 _dx,_dy 是鼠标距离当前位置的二维移动向量 public void mouse(MouseEventFlag _dwFlags, int _dx, int _dy) { mouse_event(_dwFlags, _dx, _dy, 0, 0); }
internal static extern void SetMouseEvent(MouseEventFlag flags, int dx, int dy, int data, IntPtr extraInfo);