我有这个C#程序,我做了,虽然我可以通过单击exe文件或通过单击一个批处理文件运行它很好,我不能启动该程序我对一个Java程序运行。我试过这行代码,无法运行软件。C#程序将不会从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文件?
可以ProgramName.exe在您的PATH发现了什么? – NESPowerGlove 2015-01-15 18:29:24
是的,它是可以的,我没有得到一个错误,说该文件不存在,或者我找不到该批处理文件。批处理文件与exe文件位于同一目录中。 – 2015-01-15 18:40:59
我有目录设置我确信,因为我可以设置目录和列表,并仍然可以找到批处理文件 – 2015-01-15 18:42:46