Visual Basic 6 cmd.exe 编译 - 弹出窗口



我正在编写编译各种VB6项目的java代码。我使用正确的命令制作了一个cmd.exe进程生成器并执行它。我的问题是我编译的项目会打开需要手动关闭的弹出窗口,并与使用的 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)。

如果打开命令提示符并导航到该文件夹,然后运行"VB6/?",您将看到一个弹出窗口,其中显示了您可以使用的命令行参数。

您感兴趣的是/out 参数。 根据文档:

/out 文件名 - 指定在生成时接收错误的文件 使用/m 或/runexit。 如果不使用/out,命令行构建 错误显示在消息框中。

最新更新