java - Runtime.getRuntime().exec 无法执行/显示 Tabtip.exe

标签 java netbeans javafx

我在 JavaFX SceneBuilder 中的文本字段上设置了此 OnClick 方法,如果用户选择该文本字段,该方法将弹出 Windows 8 触摸键盘。然而,当我单击文本字段时似乎没有发生任何事情,但当我尝试在任务管理器中检查 Tabtip.exe 时,它​​确实显示在那里。代码是:

try

{ 
 Runtime rt = Runtime.getRtuntime();
 rt.exec( "cmd /c C:\\Programs Files\\Common Files\\Microsoft Shared\\ink\\TabTip.exe");
}


catch 
{
  ex.printStackTrace();
}

没有触发任何错误,并且 TabTip.exe 正在任务管理器中运行,但弹出键盘没有显示,有人对此有任何解决方案吗?谢谢!

最佳答案

每当你想执行命令提示符中包含空格的命令时,你必须将其用双引号引起来。

像这样:

String commandStr = "cmd /c \"C:\\Program Files\\Common Files\\Microsoft Shared\\ink\\mip.exe\"";
rt.exec( commandStr );

除此之外,如果您想知道错误,您可以从 RuntimeObject.exec() 返回的 Process 类对象中获取错误流。

String commandStr =  "cmd /c C:\\Programs Files\\Common Files\\Microsoft Shared\\ink\\TabTip.exe";   // Like you did

InputStream is = rt.exec( commandStr ).getErrorStream();
int b;
while((b=(is.read()))!=-1)
  System.out.print((char)b);
}

关于java - Runtime.getRuntime().exec 无法执行/显示 Tabtip.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23006063/

相关文章:

java - JavaFX 中的复选框单元格工厂 + Tableview

java - Android 中图片上传到 Cloudinary 失败

java - 将 byte[] 转换为 BitSet

git - 更改 NetBeans 使用的 Git 远程密码

java - 设置javafx折线图线宽

mysql - SQL 更新 - 出现错误

java - 关于eclipse中的类模板,如何为类创建模板?

java - 如何打印每三个数字(偶数和奇数)?

java - 如何在java项目中实现单点登录?

netbeans - 如何更改 NetBeans 8.0 中断点的颜色?