Клик мышкой - C#
Формулировка задачи:
Здравствуйте. Подскажите плиз, как программно нажать и отпустить левую кнопку мышки.
Тоесть, на форме есть кнопка при нажатии котрой курсор переместится в координаты 150, 150 и с эмулируеться нажати левой кнопки мышки.
Сам не могу понять как это сделать. Только в поиск не посылайте, я уже перерыл целую кучу сайтов. Лучше напишите рабочий код. С коментариями.
Зарание спасибо.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // нажать левую кнопку мышки в координатах 150 150 // отпустить кнопку } } }
Решение задачи: «Клик мышкой»
textual
Листинг программы
using System.Runtime.InteropServices; public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("User32.dll")] static extern void mouse_event(MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); [Flags] enum MouseFlags { Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000 }; private void button1_Click(object sender, EventArgs e) { // использование - клик правой примерно в центре экрана //(подробнее о координатах, передаваемых в mouse_event см. в MSDN): const int x = 32000; const int y = 32000; mouse_event(MouseFlags.Absolute | MouseFlags.Move, x, y, 0, UIntPtr.Zero); mouse_event(MouseFlags.Absolute | MouseFlags.RightDown, x, y, 0, UIntPtr.Zero); mouse_event(MouseFlags.Absolute | MouseFlags.RightUp, x, y, 0, UIntPtr.Zero); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д