Java Runtime.exec()在后台打开应用程序

Java Runtime.exec()在后台打开应用程序,java,runtime.exec,awtrobot,Java,Runtime.exec,Awtrobot,我正在使用runtime.exec()打开一个应用程序并对其执行一些任务,但它是在后台打开的,我无法按计划执行任何任务,因此任何人都可以建议如何将我的应用程序带到前台,使其处于活动状态以执行所需任务。 我正在使用下面的代码 try { Runtime.getRuntime().exec("C:\\Program Files (x86)\\Beyond Compare 3\\BCompare.exe"); } catch (IOException e) {

我正在使用runtime.exec()打开一个应用程序并对其执行一些任务,但它是在后台打开的,我无法按计划执行任何任务,因此任何人都可以建议如何将我的应用程序带到前台,使其处于活动状态以执行所需任务。 我正在使用下面的代码

try {
        Runtime.getRuntime().exec("C:\\Program Files (x86)\\Beyond Compare 3\\BCompare.exe");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Thread.sleep(3000);

    System.out.println("Running robot class");
     Robot rb;
    try 
    {
        rb = new Robot();
         rb.keyPress(KeyEvent.VK_ENTER);
         rb.keyRelease(KeyEvent.VK_ENTER);

         Thread.sleep(3000);

         rb.keyPress(KeyEvent.VK_ENTER);
         rb.keyRelease(KeyEvent.VK_ENTER);
         Thread.sleep(3000);

    } 
    catch (AWTException e) {

        e.printStackTrace();
    }           

移除线程。睡眠并尝试以下操作

rb=新机器人(); rb.延迟(3000)


它为我打开了

这可能会帮助您[Java,在前台运行另一个应用程序][1][1]:有关正确创建和处理流程的许多好提示,请参见。然后忽略它引用
exec
,并使用
ProcessBuilder
创建流程。