Глобальный Хук для мыши с отслеживанием удержания ЛКМ - C#
Формулировка задачи:
Здравствуйте!
Для программы нужен хук, который позволит программе реагировать не только на нажатие ЛКМ, но так же и её удерживание! Долго искал, но гугл молчит. Если и есть готовые хуки, то они довольно сложные для новичка вроде меня.
А вообще нужно, что бы реализовалось следующее: При нажатии на ЛКМ в любом месте (вне окна программы) на форме в поле textBox1 с каждым кликом прибавлялось +1. Т.е. такой себе счётчик нажатий на ЛКМ. При этом если зажать ЛКМ прибавления должны продолжатся с определенной частотой. Если у Вас есть подобный код, или опыт работы в Хуком мыши - прошу сразу привести пример реализации
Заранее всем спасибо за помощь!
Решение задачи: «Глобальный Хук для мыши с отслеживанием удержания ЛКМ»
textual
Листинг программы
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- var hook = new RamGecTools.MouseHook();
- hook.LeftButtonDown += Hook_LeftButtonDown;
- hook.LeftButtonUp += Hook_LeftButtonUp;
- hook.Install();
- }
- private int _clickCount;
- private Timer _timer;
- private void Hook_LeftButtonDown(RamGecTools.MouseHook.MSLLHOOKSTRUCT mouseStruct)
- {
- _timer = new Timer();
- _timer.Interval = 1000;
- _timer.Tick += (s, e) => Increment();
- _timer.Start();
- Increment();
- }
- private void Hook_LeftButtonUp(RamGecTools.MouseHook.MSLLHOOKSTRUCT mouseStruct)
- {
- if (_timer != null)
- {
- _timer.Stop();
- _timer.Dispose();
- _timer = null;
- }
- }
- private void Increment()
- {
- Text = (++_clickCount).ToString();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д