我正在编写编译各种 VB6 项目的 java 代码。我用正确的命令制作了一个 cmd.exe Process Builder 并执行它。我的问题是我编译的项目打开了需要手动关闭的弹出窗口,与使用的 API 的 + 编译错误有关。有没有办法使这些窗口不弹出或至少立即自动关闭它们,无论是通过java代码还是cmd提示符中的特殊VB6.EXE命令?
编辑:代码:
ProcessBuilder builder;
builder = new ProcessBuilder("cmd.exe", "/c",
"cd \"C:\\Program Files\\Microsoft Visual Studio\\VB98\" && VB6.EXE /m "
+ project.getPathToProject() + " /outdir " + outputPath + " && exit");
File outputDir = new File(outputPath);
if (!outputDir.exists()) {
outputDir.mkdirs();
}
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
p.waitFor();
int exit = p.exitValue();
更新: /out 命令有助于错误窗口,但在编译期间我仍然得到 ComponentOne 的“关于”窗口(我认为项目中使用的 API)。