无法从 Runtime.getRuntime().exec(..) 开始 Steam.exe
Cannot start Steam.exe from Runtime.getRuntime().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:\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);
这将无济于事。我什至没有收到任何错误。我的鼠标变成了 loading mouse,就好像有东西在后台加载一样。但实际上什么也没有发生。
虽然,当我尝试 运行 命令时,例如 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 标志 运行 它,但这也没有用。
我一直在尝试从我的 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:\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);
这将无济于事。我什至没有收到任何错误。我的鼠标变成了 loading mouse,就好像有东西在后台加载一样。但实际上什么也没有发生。
虽然,当我尝试 运行 命令时,例如 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 标志 运行 它,但这也没有用。