我目前能够使用此解决方案捕获键盘输入,而程序没有对焦。全局键盘截取输入
Using global keyboard hook (WH_KEYBOARD_LL) in WPF/C#
但是我想知道是否可以从使用输入停止其他应用程序是否符合一定的标准,我想,而它运行在使用它来捕捉条形码到我的程序背景,但是如果您在记事本中工作,则最好不要在此处输入条形码。
我已经添加了以下内容,但字符仍然添加到记事本中。
if (nCode >= 0)
{
if (wParam == (IntPtr)InterceptKeys.WM_KEYDOWN)
{
int vkCode = Marshal.ReadInt32(lParam);
RawKeyEventArgs rk = new RawKeyEventArgs(vkCode, false);
if (KeyDown != null)
KeyDown(this, rk);
if (rk.isHandled)
{
return (IntPtr)0;
}
}
}
return InterceptKeys.CallNextHookEx(hookId, nCode, wParam, lParam);
返回应该是不同的东西?
我已经添加了对问题的更改,是否正确的返回?我检查了调试,并确定使用isHandled下的返回。 – JacoT
我在看错了地方。编辑希望它有帮助。 –
像一个魅力工作。 – JacoT