我是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\"");
但没有任何反应......
任何想法我该如何解决?谢谢你的时间。