我正在开发这个登录页面,它有 2 个文本字段和一个按钮。每当我单击第一个文本字段时,屏幕键盘 (osk.exe) 就会弹出,但是当我单击第二个文本字段时,屏幕键盘似乎不会聚焦在第二个文本字段上,这意味着我无法在第二个文本字段上输入任何内容,所以我尝试做的是停止 osk.exe 进程并在选择第二个文本字段时再次启动它,但第一次单击时 osk 似乎没有弹出,我必须单击第二次弹出它,所以这意味着每次我点击文本字段,它都会弹出并依次关闭OSK,有人可以帮助我吗?我的两个文本字段在 JavaFx 场景生成器中具有以下 onClick 方法:
public void osk (){
try
{
killProcess();
Runtime.getRuntime().exec("c:\\Temp\\osk.exe");
}
catch ( Exception ex )
{
ex.printStackTrace();
}
}
public static void killProcess() throws Exception {
Runtime rt = Runtime.getRuntime();
rt.exec("taskkill " + "osk.exe");
Runtime.getRuntime().exec( "taskkill /IM " + "osk.exe" );
}
编辑:我添加了更多描述,很抱歉没有早点包含它。
最佳答案
taskkill
是一个 Windows cmd 命令。我想你可以尝试用 rt.exec("cmd.exe/c taskkill "+ "osk.exe"替换
rt.exec("taskkill "+ "osk.exe");
);
关于java - 选择第二个文本字段后 Runtime.getRuntime().exec 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801059/