2010-07-12 29 views
0

我需要从我的应用程序启动虚拟键盘(即click-n-type)以允许用户在活动字段中输入。当用户关注我的应用程序窗口中的编辑框时,虚拟键盘弹出以允许输入。如何启动虚拟键盘而不失去在WinXP中的焦点?

但是,我无法通过一次点击就能完成这项工作。当我使用“start click-n-type.exe”时,键盘正常启动,但编辑框失去焦点。当我使用“start/min click-n-type.exe”时,编辑框保持焦点,但键盘被最小化。有没有办法让焦点不变和虚拟键盘在它的位置?

+0

你使用什么编程语言? – Abel 2010-07-12 11:31:08

+0

Java,我用Runtime.getRuntime()运行虚拟键盘。exec() – user389419 2010-07-12 13:26:01

回答

0

通常情况下,我会建议你的应用程序加载在过程DLL中,但这可能需要大量的重新编程。相反,这可能帮助:

  • 永远载入你的应用,使其不可见
  • 当活动现场获取用户输入,改变你的形式设置在顶部无边界始终;
  • 现在应该使用您的应用程序。另一个应用程序现在是Z-Order中的下一个应用程序。确保你有它的窗户把手;
  • 当某人键入某物或点击虚拟键盘上的某些内容时,切换焦点(用户不会注意到,总是在最上面)并使用SendKeys;
  • 然后将焦点切换回您的应用程序。

还有其他编写这种应用程序的方法,它们更加流畅,但需要对窗口消息传递模型以及如何从其他应用程序加载/卸载dll有较强的理解。

+0

这听起来像很多工作。我不想写自己的虚拟键盘,而是想在我的GUI应用程序中使用click-n-type。 – user389419 2010-07-12 19:58:15

相关问题