public static IntPtr StartTrackingLeftClickEvent(Action onLeftClickAction, out GCHandle gcHandle) { HookProc action = (code, param, lParam) => { if (param.ToInt32() == (int)WindowsMessageCode.WM_LBUTTONUP) { onLeftClickAction.Invoke(); } return(IntPtr.Zero); }; gcHandle = GCHandle.Alloc(action); return(WinAPIDeclarations.SetWindowsHookEx(HookType.WH_MOUSE_LL, action, IntPtr.Zero, 0)); }
public static extern IntPtr SetWindowsHookEx(HookType hookType, HookProc lpfn, IntPtr hMod, uint dwThreadId);