Java - 调用屏幕键盘

jad*_*jan 4 java keyboard on-screen-keyboard

我正在处理的应用程序将在Windows 7上运行.它将用于通过触摸屏输入一些信息.每当提示用户提供信息时,我都需要弹出一个屏幕键盘.我的问题是,我应该从头开始创建键盘类,还是应该使用Windows 7内置的屏幕键盘?如何在Java应用程序中调用它?谢谢

Ale*_*exR 9

我刚刚玩屏幕键盘,看到它很容易.你只需要使用Runtime.exec()或调用它ProcessBuilder.然后,如果您的应用程序失去焦点,请将其恢复为应用程序,而活动元素必须是当前可编辑元素(文本字段,文本区域等).现在,当用户在虚拟键盘上键入时,字符正在写入您的应用程序.

编辑

从java执行osk.exe有一些困难.它抛出IOException: java.io.IOException: Cannot run program "C:\Windows\System32\osk.exe": CreateProcess error=740, The requested operation requires elevation

诀窍是通过命令shell(cmd)运行命令:

Runtime.getRuntime().exec("cmd /c C:\\Windows\\System32\\osk.exe");

这条线在我的机器上工作正常.