C#程序将不会从Java执行

我有这个C#程序,我做了,虽然我可以通过单击该exe文件或通过单击batch file运行它,我无法启动程序运行它的Java程序。 我试过这行代码,不能让软件运行。

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

或将其设置为我启动程序的batch file。

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

现在有趣的是,当我尝试与batch file,我得到一个错误说,该文件无法find,但当我双击batch file,它将启动exe文件就好了。

我甚至试图使用过程,但我也没有得到任何运气与该过程以及

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

奇怪的是我没有得到任何错误。 即使当我尝试unit testing时,我也没有任何错误。 有没有一个过程我失踪或什么? 我迷失在做什么。

更新:

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

Solutions Collecting From Web of "C#程序将不会从Java执行"

由于你的程序是命令行程序,你需要从cmd启动它。 我不确定这是否是最好的方法,但它是有效的。

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

批处理文件:

 start cmd.exe /k "nameOfExeFile" exit