Java 无法从Runtime.getRuntime().exec(..)启动Steam.exe
我一直试图从Java程序内部启动Steam 我试过这个:Java 无法从Runtime.getRuntime().exec(..)启动Steam.exe,java,exec,Java,Exec,我一直试图从Java程序内部启动Steam 我试过这个: StringBuffer output = new StringBuffer(); Process p; try { p = Runtime.getRuntime().exec("cmd.exe start \"\" \"C:/Program Files (x86)/Steam/Steam.exe\" -login myid mypassword"); //the string amounts to start "" "C:\Progra
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec("cmd.exe start \"\" \"C:/Program Files (x86)/Steam/Steam.exe\" -login myid mypassword"); //the string amounts to start "" "C:\Program Files (x86)\Steam\Steam.exe" -login myid mypassword
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}
System.out.println(output);
这没用。我甚至没有收到任何错误。我的鼠标变成了一个加载鼠标,就好像有什么东西在后台加载一样。但实际上什么也没发生
虽然,当我尝试运行诸如
taskkill/F/IM Steam.exe等命令时,它们工作得非常好,实际上我看到Steam关闭了 我可以通过删除start
来运行它
Runtime.getRuntime().exec("cmd.exe \"C:/Program Files (x86)/Steam/Steam.exe\" -login myid mypassword");
甚至删除cmd.exe也可以
Runtime.getRuntime().exec("\"C:/Program Files (x86)/Steam/Steam.exe\" -login myid mypassword");
但我遇到了一个很小的问题,我会在其他时间问。这个小问题是,除非我关闭Steam,否则进程不会执行下一条指令。我尝试使用cmd.exe/c标志运行它,但也不起作用