本文来告诉大家一个简单的方法实现全局的 鼠标钩子
实现封装方法十分简单,请看代码
public class MouseHookEventArgs : EventArgs
{
public bool Handle { get; set; }
/// <inheritdoc />
public MouseHookEventArgs(MouseMessages mouseMessage)
{
MouseMessage = mouseMessage;
}
public MouseMessages MouseMessage { get; }
public enum MouseMessages
{
MouseDown,
MouseMove,
MouseUp,
}
}
/// <summary>
/// 鼠标钩子
/// </summary>
public static class MouseHook
{
private delegate IntPtr MouseProc(int nCode, IntPtr wParam, IntPtr lParam);
private static MouseProc _proc = HookCallback;
private static IntPtr _hookID = IntPtr.Zero;
private const int WH_MOUSE_LL = 14;
private enum MouseMessages
{
WM_MOUSEMOVE = 0x0200
}
[StructLayout(LayoutKi