Сегодня мы рассмотрим как в C# программно нажать левую или правую кнопку мыши. Статья короткая, но многим будет очень полезна. Сам я в свое время долго искал простое решение данной задачи… и все таки нашел и спешу поделиться с Вами.
Данный ход возможен благодаря WinAPI. Для этого на потребуется подключить namespace System.Runtime.InteropServices и сделать DllImport:
[DllImport(«user32.dll», CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(MouseEvent dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
Где MouseEvent — перечисление следующего вида:
public enum MouseEvent { MOUSEEVENTF_LEFTDOWN = 0x02, MOUSEEVENTF_LEFTUP = 0x04, MOUSEEVENTF_RIGHTDOWN = 0x08, MOUSEEVENTF_RIGHTUP = 0x10, }
Далее в коде программы делаем вызов:
mouse_event(MouseEvent.MOUSEEVENTF_RIGHTDOWN, System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y, 0, 0); mouse_event(MouseEvent.MOUSEEVENTF_RIGHTUP, System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y, 0, 0);
Таким образом мы программно нажали на правую кнопку мыши. Аналогично нажимается и левая кнопка. Для двойного нажатия нужно выполнить данное действие два раза.