C#程序不会被从Java执行(C# program wont be executed from Ja

2019-10-21 15:09发布

我有这个C#程序我做了,虽然我可以通过点击exe文件,或通过点击一个批处理文件运行良好的话,我不能对我提出来运行Java程序的启动程序。 我已经试过这行代码,并不能得到该软件运行。

Runtime.getRuntime().exec("nameOfTheExeFile");

或者将其设置为批处理文件我做了启动程序。

Runtime.getRuntime().exec("nameOfTheBatchFile");

现在,有趣的是,当我尝试它与批处理文件我得到一个错误,指出该文件无法找到,但是当我双击该批处理文件,它会启动exe文件就好了。

我甚至曾尝试使用的过程,但我不与该进程得到任何运气,以及

List cmdAndArgs = Arrays.asList(new String[]{"cmd.exe", "/c", "ProgramName.exe"});

ProcessBuilder pb = new ProcessBuilder(cmdAndArgs);

Process p = pb.start();

奇怪的是,我没有得到任何错误的。 甚至当我试图单元测试我没有任何错误的根本。 是否有一个过程我缺少什么? 我迷失在做什么。

更新:

当我在任务管理器检查,我可以看到该程序正在运行,但不是exe文件的版本。 我看到ProgramName.vshost.exe,有​​一个原因来展示,而不是exe文件?

Answer 1:

因为你的程序的命令行程序,你需要从CMD启动它。 我不知道这是否是做的最好的方式,但它的工作原理。

Runtime.getRuntime().exec("cmd /c start nameOfTheBatchFile");

批处理文件:

start cmd.exe /k "nameOfExeFile"
exit


文章来源: C# program wont be executed from Java