Ejemplo n.º 1
0
 private static IntPtr SetHook(LowLevelMouseProc proc)
 {
     using (Process curProcess = Process.GetCurrentProcess())
         using (ProcessModule curModule = curProcess.MainModule)
         {
             return(SetWindowsHookEx(WH_MOUSE_LL, proc,
                                     WinApiFunctions.GetModuleHandle(curModule.ModuleName), 0));
         }
 }
Ejemplo n.º 2
0
        private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
        {
            if (nCode >= 0)
            {
                MOUSEHOOKSTRUCT pMouseStruct = (MOUSEHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MOUSEHOOKSTRUCT));
                CallMouseEvent((MouseEvents)wParam, pMouseStruct, NativeMethods.GET_WHEEL_DELTA_WPARAM(wParam));
            }

            return(WinApiFunctions.CallNextHookEx(_hookID, nCode, wParam, lParam));
        }
Ejemplo n.º 3
0
 public void Stop()
 {
     WinApiFunctions.UnhookWindowsHookEx(_hookID);
 }