Глобальный Хук для мыши с отслеживанием удержания ЛКМ - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д