在WPF中筛选指定的键盘设备

时间:2015-04-09 06:51:35

标签: c# wpf keyboard windows-8.1

我正在使用MVVM模式在WPF中编写两个C#应用程序。这些应用程序将显示在单独的屏幕上。第一个是带表格等的简单应用程序。另一个是手机模拟器。

我已经购买了另一个键盘,我想将第二个键盘设备仅绑定到手机模拟器应用程序,因此它不必与其他应用程序(网络浏览器等)一起使用。如果第二个应用程序将处理第二个键盘事件,即使焦点在第一个应用程序上,我也会很好。

我尝试使用LowLevelKeyboardProc,但我无法在给定的KBDLLHOOKSTRUCT结构中找到设备名称/ ID。

你知道一些替代方法吗或如何使用LowLevelKeyboardProc获取设备名称/ ID?

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,发现这个库http://www.oblita.com/interception.html可以用来截取密钥并知道它们来自哪个设备。它需要您安装驱动程序,但工作得非常好。对我来说唯一的问题是它不能拦截媒体键,如播放,暂停等。所以,如果你有任何其他的想法,我很想知道。

编辑:如果你需要一个c#包装器,那就有一个https://github.com/jasonpang/Interceptor