public IntPtr CoreHookProc(int code, IntPtr wParam, IntPtr lParam)
{
if (code < 0)
return NativeMethods.CallNextHookEx(this._mHHook, code, wParam, lParam);
// Let clients determine what to do
var e = new HookEventArgs
{
HookCode = code,
wParam = wParam,
lParam = lParam
};
this.OnHookInvoked(e);
// Yield to the next hook in the chain
return NativeMethods.CallNextHookEx(this._mHHook, code, wParam, lParam);
}