public static int MouseHook(int nCode, IntPtr wParam, IntPtr lParam) { try { if (nCode == 0) { Mubox.Win32.WindowHook.MSLLHOOKSTRUCT mouseHookStruct = (Mubox.Win32.WindowHook.MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(Mubox.Win32.WindowHook.MSLLHOOKSTRUCT)); if (OnMouseInputReceived((Win32.WM)wParam, mouseHookStruct)) { return(1); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); Debug.WriteLine(ex.StackTrace); } try { return(Mubox.Win32.WindowHook.CallNextHookEx(hHook, nCode, wParam, lParam)); } catch (Exception ex) { Debug.WriteLine(ex.Message); Debug.WriteLine(ex.StackTrace); } return(0); }
public static MouseInput CreateFrom(Win32.WM wm, Mubox.Win32.WindowHook.MSLLHOOKSTRUCT hookStruct) { MouseInput e = new MouseInput(); e.WM = wm; e.Point = new System.Windows.Point(hookStruct.pt.X, hookStruct.pt.Y); e.MouseData = hookStruct.mouseData; e.Time = hookStruct.time; return(e); }