我正在开发的应用程序将在 Windows 7 上运行。它将用于通过触摸屏输入一些信息。每当提示用户输入信息时,我都需要有一个屏幕键盘弹出窗口。我的问题是,我应该从头开始创建一个键盘类,还是应该使用 Windows 7 内置的屏幕键盘,以及如何在我的 Java 应用程序中调用它?谢谢
最佳答案
我刚刚玩过屏幕键盘,发现它很简单。您只需使用 Runtime.exec()
或 ProcessBuilder
调用它。然后,如果您的应用程序失去焦点,则将其带回应用程序,而 Activity 元素必须是当前可编辑元素(文本字段、文本区域等)。现在,当用户在虚拟键盘上打字时,字符将被写入您的应用程序。
编辑
从 java 执行 osk.exe 有一些困难。它抛出 IOException:
java.io.IOException:无法运行程序“C:\Windows\System32\osk.exe”:CreateProcess error=740,请求的操作需要提升
诀窍是通过命令 shell (cmd
) 运行命令:
Runtime.getRuntime().exec("cmd/c C:\\Windows\\System32\\osk.exe");
这条线在我的机器上运行良好。
关于Java - 调用屏幕键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9281315/