如何在Win XP中启动虚拟键盘而不失焦点?

时间:2010-07-12 11:12:43

标签: windows keyboard focus virtual

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

但是,我无法通过一次点击即可实现此功能。当我使用“start click-n-type.exe”时,键盘正常启动,但编辑框失去焦点。当我使用“start / min click-n-type.exe”时,编辑框保持焦点但键盘最小化。有没有办法让焦点保持不变,虚拟键盘就位?

1 个答案:

答案 0 :(得分:0)

通常情况下,我建议您将应用程序加载为进程dll,但这可能需要进行大量的重新编程。相反,这可能会有所帮助:

  • 始终加载您的应用程序,使其不可见
  • 当活动字段获得用户输入时,将表单设置更改为无边框并始终位于顶部;
  • 现在应该使用您的应用程序。另一个应用程序现在是Z-Order中的下一个应用程序。确保你有窗口句柄;
  • 如果有人在您的虚拟键盘上输入内容或点击某些内容,请切换焦点(用户不会注意到,您始终位于顶部)并使用SendKeys;
  • 然后将焦点切换回您的应用程序。

还有其他编写此类应用程序的方法,这些方法更顺畅,但需要对窗口消息传递模型以及如何从其他应用程序加载/卸载dll有深刻理解。