关注WPF中的先前应用程序

时间:2015-12-08 02:00:53

标签: wpf input focus hook

我正在尝试创建一个WPF应用程序,触摸显示设备将使用该应用程序在第三方应用程序中输入快捷方式。

这个想法看似简单,类似于屏幕键盘在Windows上的工作方式。但是我很快发现了一个主要障碍;虽然我可以轻松模拟输入,但我找不到将它们发送到适当的应用程序或控件的方法。单击一个按钮后,上一个应用程序将松开焦点,输入不会发送到正确的位置。

我做了大量的研究,但不幸的是,似乎每个人都试图控制同一个应用程序中多个窗口的焦点。

我不确定使用核心组件是否可行。我不想做任何dll导入,但我担心这可能是必要的。

如果您有任何我可以探索的解决方案或方向,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

  1. 存储焦点元素(名称/参考)。

  2. 显示VirtualKeyboard。

  3. 处理VK用户控制根级别的按钮事件。在公共事件处理程序中,您可以使用Text属性轻松地操作存储的焦点元素中显示的文本。您必须为各种按钮(Backspace等)使用switch-case。由于VKeyboard只有最少的密钥,因此可以正常工作。