【发布时间】:2016-12-23 22:46:15
【问题描述】:
我目前能够使用此解决方案在程序未聚焦时捕获键盘输入。
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);
回报应该是不同的东西吗?
【问题讨论】:
标签: c# wpf keyboard hook barcode-scanner