public static void SendMouseWheel(int wheelCount, Point location, bool absoluteLocation) { var meFlag = MouseEventFlags.Wheel; if (absoluteLocation) meFlag |= MouseEventFlags.Absolute; var mInput = new MouseInput { dx = location.X, dy = location.Y, dwFlags = meFlag, mouseData = wheelCount }; SendMouseInput(ref mInput); }
private static void SendMouseInput(ref MouseInput mouseInput) { var iUnion = new InputUnion { mi = mouseInput }; var input = new Input { type = InputTypes.Mouse, U = iUnion }; var inputs = new[] { input }; if (Keyboard.SendInput(1, inputs, Marshal.SizeOf(input)) != 1) throw new Win32Exception(Marshal.GetLastWin32Error()); }
public static void SendMouseUp(MouseButtons button, Point location, bool absoluteLocation = true) { MouseEventFlags meFlag = 0; var mData = 0; switch (button) { case MouseButtons.Left: meFlag = MouseEventFlags.LeftUp; break; case MouseButtons.Right: meFlag = MouseEventFlags.RightUp; break; case MouseButtons.Middle: meFlag = MouseEventFlags.MiddleUp; break; case MouseButtons.XButton1: meFlag = MouseEventFlags.XUp; mData = 1; break; case MouseButtons.XButton2: meFlag = MouseEventFlags.XUp; mData = 2; break; } if (absoluteLocation) meFlag |= MouseEventFlags.Absolute; var mInput = new MouseInput { dx = location.X, dy = location.Y, mouseData = mData, dwFlags = meFlag }; SendMouseInput(ref mInput); }