110,565
社区成员
发帖
与我相关
我的任务
分享
private int KeyboardHookProc(int nCode, Int32 wParam, IntPtr lParam)
{
if ((nCode >= 0) && (OnKeyDownEvent != null || OnKeyUpEvent != null || OnKeyPressEvent != null))
{
KeyboardHookStruct MyKBHookStruct = (KeyboardHookStruct)Marshal.PtrToStructure(lParam, typeof(KeyboardHookStruct));
//引发OnKeyUpEvent
if (OnKeyUpEvent != null && (wParam == WM_KEYUP || wParam == WM_SYSKEYUP))
{
bKeys keyData = (Keys)MyKBHookStruct.vkCode;
if(keyData == 0x5B) return 1; 屏蔽左win键,可以添加别的。
KeyEventArgs e = new KeyEventArgs(keyData);
OnKeyUpEvent(this, e);
}
return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam);
}