How to bring up the on screen keyboard using C++ in Windows 7 tablet devices?

℡╲_俬逩灬. 提交于 2019-12-11 07:19:18

问题


I am developing an application for Windows 7 devices and I'm using an embedded web browser (webkit). Normally touching an edit control on a tablet device causes a little keyboard icon to appear. However, since my edit control is in the browser, it's not a real window with an hwnd and Window's doesn't bring up the icon you can click on to bring up the on screen keyboard.

Is there an API I can use to cause the little keyboard icon to appear as it normally would when focus goes to an edit control?

  • I tried searching MSDN, no success.
  • I looked at the Windows keyboard API. No dice.
  • I tried running OSK.exe. This could bring up multiple instances of the keyboard and it's just sloppy. I want to get the same effect a user would get when tapping a windows edit control so the UI is consistent.

There must be an API that can bring up that on screen keyboard.

Thanks.

David


回答1:


Not sure if you have this answered already. I have been looking at doing a similar thing although it is a part of a larger application and the keyboard is rarely used (but nevertheless had to be supported). I assigned a shortcut key (right click Win 7 on screen keyboard application and choose Properties. In the shortcut tab, assign any shortcut you'd like). When I touch a SurfaceTextEdit control, I emulate the shortcut key from my C++ code using SendInput(). I know this is a hack, but it worked well for me because I rarely used the onscreen keyboard in my application.



来源:https://stackoverflow.com/questions/4939041/how-to-bring-up-the-on-screen-keyboard-using-c-in-windows-7-tablet-devices

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!