Сегодня мы рассмотрим как в 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);
Таким образом мы программно нажали на правую кнопку мыши. Аналогично нажимается и левая кнопка. Для двойного нажатия нужно выполнить данное действие два раза.