我有这个C#程序,虽然我可以通过单击exe文件或单击批处理文件来运行它,但我无法在我为运行它而创建的Java程序上启动该程序。我已经尝试过这行代码,但无法运行该软件。
Runtime.getRuntime().exec("nameOfTheExeFile");
或将其设置为我启动程序的批处理文件。
Runtime.getRuntime().exec("nameOfTheBatchFile");
现在有趣的是,当我使用批处理文件尝试该操作时,我收到一条错误消息,指出找不到该文件,但是当我双击该批处理文件时,它将很好地启动exe文件。
我什至尝试使用Process,但是该过程也没有带来任何运气
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文件?
由于您的程序是命令行程序,因此您需要从cmd启动它。我不确定这是否是最好的方法,但是可以。
Runtime.getRuntime().exec("cmd /c start nameOfTheBatchFile");
批处理文件:
start cmd.exe /k "nameOfExeFile"
exit
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句