【问题标题】:Running an EXE from Java从 Java 运行 EXE
【发布时间】:2015-02-03 18:31:18
【问题描述】:

我需要从 Java 运行一个可执行文件并在单独的窗口中打开它。当我在不使用 Java 的情况下打开文件时,它可以完美运行,但是当我尝试使用 Java 代码打开它时似乎什么也没有发生。我尝试过使用 getRuntime 和 ProcessBuilder。我使用的行如下。

ProcessBuiler:

ProcessBuilder pb = new ProcessBuilder("C:\\Users\\Louis Windows\\workspace\\Py2exetest\\dist\\test.exe");
Process p = pb.start();

获取运行时间:

Runtime.getRuntime().exec("C:\\Users\\Louis Windows\\workspace\\Py2exetest\\dist\\test.exe", null, new File("C:\\Users\\Louis Windows\\workspace\\Py2exetest\\dist\\"));

两者似乎都给出了相同的结果(什么都没有)。有什么想法可以让 test.exe 在新窗口中打开吗?

【问题讨论】:

    标签: java runtime.exec processbuilder


    【解决方案1】:

    在 windows 上,您可以尝试使用 cmd.exe 来启动该进程。

    ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "C:\\Users\\Louis Windows\\workspace\\Py2exetest\\dist\\test.exe");
    pb.start();
    

    【讨论】:

    • 我刚刚尝试过,它启动了命令提示符,但似乎没有执行任何操作。有什么想法可以确保它做到吗?
    • 我尝试了使用命令提示符的想法,并尝试将当前目录设置为适当的文件夹,然后启动 exe 文件,但由于某种原因,它不允许我执行 2 个 cmd 命令一次。代码:ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "cd", "dist", "&&","start","test.exe"); Process p = pb.start();
    • 通过在一个命令中完成所有操作来使其工作:Runtime.getRuntime().exec("cmd /c start dist\\test.exe");。非常感谢@Sepehr !!!
    猜你喜欢
    • 2013-12-05
    • 2020-07-22
    • 1970-01-01
    • 2015-09-30
    • 2011-03-10
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多