public static extern IntPtr CallNextHookEx(HandleRef hook, int code, IntPtr wParam, [In] ref MSLLHOOKSTRUCT lParam);
private IntPtr OnMouseEvent(int code, IntPtr wParam, ref MSLLHOOKSTRUCT lParam) { if ((code >= 0) && (wParam == new IntPtr(NativeMethods.WM_MOUSEMOVE)) && this._IsPrintScreenKeyDown) { this._IsSearchMode = true; IntPtr Window = NativeMethods.WindowFromPoint(lParam.pt); if (Window != IntPtr.Zero) { IntPtr SelectedWindow = this._SelectedWindow; this._SelectedWindow = Window; if (Window != SelectedWindow) { RedrawWindow(SelectedWindow); } DrawRectangle(Window); } } return NativeMethods.CallNextHookEx(new HandleRef(this._MouseHook, this._MouseHook.Handle), code, wParam, ref lParam); }