2015-12-08 22 views
0

我正在尝试创建一个WPF应用程序,该应用程序将被触摸显示设备用于在第三方应用程序中输入快捷方式。将重点放在WPF中的以前的应用程序

这个想法看起来很简单,类似于屏幕上的键盘如何在Windows上工作。不过,我很快发现了一个重大障碍;虽然我可以轻松地模拟输入,但我无法找到将它们发送到适当的应用程序或控件的方法。只要点击一个按钮,以前的应用程序就会失去焦点,并且输入不会被发送到正确的位置。

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

我不确定这是否可以使用核心程序集。我宁愿不必进行任何DLL导入,但恐怕这可能是必要的。

请让我知道,如果你有任何解决方案或方向,我可以探索。

由于

回答

0
  1. 商店聚焦的元件(名称/参考)。

  2. 显示VirtualKeyboard。

  3. 在VK用户控件的根级别处理按钮按下事件。从通用事件处理程序中,您可以使用Text属性轻松操作存储的焦点元素中显示的文本。你必须为各种按钮使用开关盒,例如(Backspace等)。由于VKeyboard只有最低限度所需的密钥,所以这可以毫无问题地工作。

+0

Hello Anjum, 你究竟如何将最后一个聚焦元素的引用存储在应用程序之外?据我所知,没有任何方法可以通过事件管理器获取应用程序外的对象的引用,并且我们无法在每个应用程序上设置钩子权限? – Max

+0

看起来你正在尝试一些黑客行为。我认为虚拟键盘显示在同一个应用程序内。但是你仍然可以使用Win32函数来做你想做的事情。你可以得到文本框的句柄。 – AnjumSKhan

相关问题