我需要运行一些使用参数最小化的.exe文件。现在我的代码我可以在普通窗口中运行它。 这是我的代码:
ProcessBuilder pb = new ProcessBuilder(directoryString, myArg1, myArg2);
Process pr = pb.start();
我找到了这个解决方案:
start /min "" directoryString
但我不知道如何在ProcessBuilder上使用带有参数的进程。
答案 0 :(得分:0)
start实际上是一个Windows cmd命令。
因此:通过调用
来隐含cmd.exe /c start /min ....
通过Java进程构建器;如here所述。
我的意思是:首先打开一个Windows控制台/终端;并构建了一个像
这样的命令{{1}}
当它运行你的程序时;然后使用那个字符串作为Java ProcessBuilder的输入。您可能还会找到一些更有用的示例here。
答案 1 :(得分:0)
我这样做了:
String args = "myArg1";
String cmd = "cmd.exe /C START /MIN directoryString ";
Runtime.getRuntime().exec(cmd + args);
在directoryString之后,它需要是一个空间,否则cmd将只读取一个没有空格的字符串,并尝试打开不存在的文件。