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; } }}
转载请注明原文地址: https://ibbs.8miu.com/read-1050382.html