using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace HotelManage { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void hook_onMouseChange(object sender, EventArgs e) { this.Text = Cursor.Position.ToString(); } private void Form1_Load(object sender, EventArgs e) { Win32Hook hook = new Win32Hook(); hook.onMouseChange += new EventHandler(hook_onMouseChange); hook.SetHook(); } } public class Win32Hook { [DllImport("kernel32")] public static extern int GetCurrentThreadId(); [DllImport("user32", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern int SetWindowsHookEx( HookType idHook, HOOKPROC lpfn, int hmod, int dwThreadId); public enum HookType { WH_GETMESSAGE = 3 } public delegate int HOOKPROC(int nCode, int wParam, int lParam); public event System.EventHandler onMouseChange; public void SetHook() { SetWindowsHookEx(HookType.WH_GETMESSAGE, new HOOKPROC(this.MyKeyboardProc), 0, GetCurrentThreadId()); } public int MyKeyboardProc(int nCode, int wParam, int lParam) { if (onMouseChange != null) { onMouseChange(null, null); } return 0; } } }