Exemplo n.º 1
0
        private static int HandleHookProc(int code, IntPtr wParam, IntPtr lParam)
        {
            if (code < 0)
            {
                return(Win32API.CallNextHookEx(hookPtr, code, wParam, lParam));
            }

            NativeMouseEvent  eventCode = unchecked ((NativeMouseEvent)wParam);
            MOUSEHOOKSTRUCTEX data      = MOUSEHOOKSTRUCTEX.CreateFromPtr(lParam);
            MousePosition     pos       = new MousePosition {
                x = data.pt.x, y = data.pt.y
            };
            int wheelDelta = unchecked ((short)((long)data.mouseData >> 16));

            if (HandleMouseEvent(eventCode, pos, wheelDelta) && InterceptMessages)
            {
                return(1);
            }
            else
            {
                return(Win32API.CallNextHookEx(hookPtr, 0, wParam, lParam));
            }
        }