تشخیص کلیک ماوس در خارج از فرم برنامه
برای تشخیص کلیک ماوس در خارج از فرم برنامه در سی شارپ ابتدا فایل زیر را دانلود و آن را از حالت فشرده خارج کرده و به رفرنس های برنامه اضافه کنید :
فرض کنید که در برنامه می خواهیم تعداد کلیک هایی که خارج از فرم می شود را شمارش کنیم. برای این کار ابتدا یک Label بر روی فرم قرار داده و سپس به صورت زیر عمل می کنیم :
using System; using System.Windows.Forms; using WindowsHookLib; namespace MouseClick { public partial class Form1 : Form { private MouseHook _mouseHook = new MouseHook(); private int _mouseClickCount = 0; public Form1() { InitializeComponent(); this._mouseHook.MouseDown += _mouseHook_MouseDown; try { this._mouseHook.InstallHook(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private bool IsMouseInForm(int x, int y) { if (x >= this.Location.X && x <= (this.Location.X + this.Width) && y >= this.Location.Y && y <= (this.Location.Y + this.Height)) { return true; } return false; } private void _mouseHook_MouseDown(object sender, WindowsHookLib.MouseEventArgs e) { if (!IsMouseInForm(e.X, e.Y)) { this._mouseClickCount++; this.label1.Text = this._mouseClickCount.ToString(); } } } }
حال اگر برنامه را اجرا و بر روی قسمتی های مختلف به جز فرم برنامه کلیک کنید، تعداد کلیک های شما در Label نمایش داده می شود.