外部可执行应用程序因某些应用程序而失败?

时间:2018-09-20 17:30:57

标签: java external executable

我想从Java应用程序启动该程序,但有些运气。多数程序启动时都没有问题,但有些程序似乎无法正确执行(?)。

我使用的代码非常简单:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="?attr/selectableItemBackgroundBorderless"
    android:src="..."/>

...并且适用于几乎所有可执行文件(* .exe)。 Discord 故意放置在示例中,因为它是导致此问题的程序之一。 (以及 Messenger For Windows GOG Galaxy )。

这种行为很简单,并且所有导致这种情况的可执行文件都一样。命令提示符迅速弹出,然后迅速消失(意为双关语)-导致应用程序未启动。

通过Google和Stack Overflow进行筛选被证明是徒劳的,这时,我完全不知所措。

非常感谢您的帮助/投入。

1 个答案:

答案 0 :(得分:0)

感谢John,他指出,即使“手动”启动 Update.exe 文件也会导致相同的行为,但我发现了问题所在。

似乎成功启动Discord时,实际上是在启动一种为可执行文件提供参数的快捷方式。在这种情况下:

--processStart Discord.exe

这意味着以下代码实际上将启动Discord:

private static void exec() {
    ProcessBuilder builder = new ProcessBuilder("C:\\Users\\Fillipuster\\AppData\\Local\\Discord\\Update.exe", "--processStart", "Discord.exe");

    try {
        builder.start();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

感谢约翰和所有其他评论者。