Hooks (имитация нажатия левой кнопки мышки) - C#

Узнай цену своей работы

Формулировка задачи:

Полная задача состоит в том, что пользователь будет выбирать окно. Когда он будет нажимать например клавишу E английскую, то будет имитироваться нажатие левой кнопки мышки в форме относительно левого края, ниже где-то на пикселев 10. Нашел материал как определить позицию мышки в родной форме и глобальное положение, но вот как прилепить к определенно другому окну так и не понял. Можете натолкнуть на правильный путь или подкрепить куском кода? Заранее спасибо)

Решение задачи: «Hooks (имитация нажатия левой кнопки мышки)»

textual
Листинг программы
  1. using System.Runtime.InteropServices;
  2.     public partial class Form1 : Form
  3.     {//импортируем mouse_event():
  4. [DllImport("User32.dll")]
  5. static extern void mouse_event(MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo);
  6.  
  7. //для удобства использования создаем перечисление с необходимыми флагами (константами), которые определяют действия мыши:
  8. [Flags]
  9. enum MouseFlags
  10. {
  11.     Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008,
  12.     RightUp = 0x0010, Absolute = 0x8000
  13. };
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.  
  19.         private void button1_Click(object sender, EventArgs e)
  20.         {
  21.             //и использование - клик правой примерно в центре экрана
  22.           //(подробнее о координатах, передаваемых в mouse_event см. в MSDN):
  23.             const int x = 32000;
  24.             const int y = 32000;
  25.  
  26.             mouse_event(MouseFlags.Absolute | MouseFlags.Move, x, y, 0, UIntPtr.Zero);
  27.             mouse_event(MouseFlags.Absolute | MouseFlags.RightDown, x, y, 0, UIntPtr.Zero);
  28.             mouse_event(MouseFlags.Absolute | MouseFlags.RightUp, x, y, 0, UIntPtr.Zero);
  29.         }
  30.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы