您的位置:首页 > 编程语言 > C#

C#中通过设置钩子监视鼠标移动

2008-06-26 22:00 363 查看
using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace WindowsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Win32Hook hook = new Win32Hook(); hook.onMouseChange += new EventHandler(hook_onMouseChange); hook.SetHook(); } void hook_onMouseChange(object sender, EventArgs e) { this.Text = Cursor.Position.ToString(); } } 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; } }}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: