程序从批处理文件开始,在Java中执行时未显示GUI

时间:2017-03-10 10:54:04

标签: java batch-file servlets

我是Stack Overflow的新手,但是用它来学习很多东西。我找了很多解决问题的方法而且没有运气。

无论如何,情况是:

我有一个必须执行批处理文件的servlet来执行某些操作,例如启动程序。

以下是servlet的代码:

StringBuffer batchCommand = new StringBuffer(TerminalProperties.getRunningStorePath());
batchCommand.append("file.bat");        
Runtime runtime = Runtime.getRuntime();
batProcess = runtime.exec(batchCommand.toString());

批处理文件的内容是:

taskkill /f /im program.exe 
cd C:\folder
start /MAX /WAIT /HIGH program.exe

从命令行运行批处理文件或双击时,一切顺利。如果program.exe正在运行,它将关闭然后重新启动。当它从java servlet执行时,一切正常,但程序在IN BACKGROUND中启动;我需要它来显示GUI。

我发现了一些类似但与任务调度程序相关的问题,这不是我的问题。

我在批处理文件中尝试use runas /user:Administrator program.exe但没有成功。

还试图用java代码启动程序:

runtime.exec("cmd /c \"cd C:\folder & start /MAX /WAIT /HIGH program.exe\"");

但没有任何反应......

任何想法我该如何解决?谢谢你的时间。

0 个答案:

没有答案