private IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); OnKeyPressed.Invoke(this, ((Keys)vkCode)); } else if (nCode >= 0 && wParam == (IntPtr)WM_KEYUP) { int vkCode = Marshal.ReadInt32(lParam); OnKeyUnpressed.Invoke(this, ((Keys)vkCode)); } return(CallNextHookEx(_hookID, nCode, wParam, lParam)); }
private IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); if (OnKeyPressed != null) { OnKeyPressed.Invoke(this, KeyInterop.KeyFromVirtualKey(vkCode)); } } else if (nCode >= 0 && wParam == (IntPtr)WM_KEYUP) { int vkCode = Marshal.ReadInt32(lParam); if (OnKeyUnpressed != null) { OnKeyUnpressed.Invoke(this, KeyInterop.KeyFromVirtualKey(vkCode)); } } return(CallNextHookEx(_hookID, nCode, wParam, lParam)); }