使用此代码片段,我通过来自 Java Swings 的焦点获得事件启动屏幕键盘进程。
String sysroot = System.getenv("SystemRoot");
Process proc = Runtime.getRuntime().exec("cmd /c " + sysroot + "/system32/osk.exe");
当失去焦点时,键盘应该关闭。我曾经proc.destroy()
实现过。此实现在 Windows 8 平板电脑中表现异常。它在焦点上打开键盘,而不是在失去焦点时关闭。我正在从 Eclipse 运行程序。
相同的实现在 Windows 7 桌面上完美运行。唯一的变化是,我没有cmd /c
在 Windows 7 中指定。对于 Win 8,如果我不给,它甚至不会打开键盘cmd /c
请提出解决方案。