忽略键盘输入

时间:2010-10-13 02:03:31

标签: c# wpf

我有一个显示键盘的应用程序,并测试是否按下了键。我遇到的问题是当按下某些键时,如箭头按钮/标签,键盘图形失去焦点,它开始访问菜单项/等。我尝试在MainWindow中注册预览鼠标按下事件并设置e.handled = true。但这并不是一直有效。如果有一种方法可以禁用Windows按钮也会很好。

2 个答案:

答案 0 :(得分:1)

我认为您需要深入了解解决方案的操作系统代码。操作系统会处理与正常情况不同的某些按键,因此您可能无法在某个按键的值处达到峰值,或者甚至在它从您的应用程序中取出控制权之前已被按下它。

当我为CP / M编写机器代码BIOS例程时,我看到了这种情况。 Windows比这更重要。当我开始使用Windows 3.1时,我不再编写代码来控制硬件。

答案 1 :(得分:0)

我用过这个课:

http://gist.github.com/471698

我用这段代码替换了第99行:

return EnableKeyboard ? InterceptKeys.CallNextHookEx(hookId, nCode, wParam, lParam) : (IntPtr) 1;

用户设置EnableKeyboard的地方。