我想从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进行筛选被证明是徒劳的,这时,我完全不知所措。
非常感谢您的帮助/投入。
答案 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();
}
}
感谢约翰和所有其他评论者。