Вам понадобится
- - среда разработки Microsoft Visual C++ .Net (не ниже 2003).
Инструкция
1
Установите Microsoft Visual C++ .Net (не ниже 2003). Существует несколько версий данной среды разработки- платная и бесплатная. Их можно скачать с сайта разработчика. После установки, создайте новый проект и подключите System.Windows.Forms и System.Drawing, как показано ниже: using System.Windows.Forms; using System.Drawing;
2
Для перемещения мыши по экрану в операционных системах семейства Windows применяйте функции, которые устанавливают непосредственно позицию курсора на экране. Используйте, например, следующий код:Cursor.Position = new Point(x,y);Данная строка переместит курсор в позицию, указанную в конструкторе класса Point(x,y) (где x и y – координаты позиции в которую следует установить курсор). Если необходимо устанавливать позицию курсора неоднократно, создайте один экземпляр класса Point и для него применяйте метод изменяющий координаты. Это позволит сэкономить память: Point point = new Point(0,0); Cursor.Position = point.Offset ( 20 , 100 ) ; Cursor.Position = point.Offset(40,-20); Данный код создает объект класса Point() с координатами 0,0. Вторая строчка смещает точку Point на 20 пикселей по Х и на 100 пикселей по Y. Текущая координата, на которую указывает объект point, равна 20, 100. В третьей строке снова происходит смещение Point на указанное количество пикселей (40 и -20 соответственно). Текущая координата равна 60 (20+40) по X и 80 (100-20) по Y.
3
Для эмуляции нажатия клавиши мыши используйте функции Win32 SendInput() или mouse_event(). Например, чтобы программно имитировать клик правой кнопки используйте следующий код://импортируйте mouse_event():[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};//использование - клик по координатам, установленным ниже:const int x = 39000; //координаты по Хconst int y = 12000; //координаты по Ymouse_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);
4
Эмулируйте нажатие кнопки мыши посредствам посылки сообщений WM_LBUTTONDOWN и WM_LBUTTONUP, при помощи функции Win API SendMessage(). Например, как показано ниже:void OnBtPerformClick(object sender, EventArgs e){SendMessage(btDemo.Handle, Messages.WM_LBUTTONDOWN, MK_LBUTTON, IntPtr.Zero);SendMessage(btDemo.Handle, Messages.WM_LBUTTONUP, MK_LBUTTON, IntPtr.Zero);}