Java - 调用屏幕键盘

标签 java keyboard on-screen-keyboard

我正在开发的应用程序将在 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/

相关文章:

keyboard - D 1.0 (Tango) 移动鼠标;模拟键盘按下等

c++ - Qt 5 中的屏幕键盘

用于鼠标单击屏幕上任何文本框的 Java 监听器

javascript - 如何在 Aurelia 中使用屏幕键盘?

Java泛化方法来验证对象参数中的空值

java - 从 String[] 转换为 Arraylist,删除元素并转换回 String[]

android - Android : Dismiss keyboard with Entry. 上的 Xamarin.UITest 已完成

java - 使用 Java 将记录插入 Berkeley DB

java - 如何在 Wicket 口中实现具有 2 个相关下拉菜单的可编辑网格?

c# - 在整个 WPF 窗口上设置 KeyBinding