我一直在尝试从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);
这无济于事。我甚至没有任何错误。我的鼠标变成了加载鼠标,好像有什么东西在后台加载一样。但事实上没有任何反应。
虽然,当我尝试运行诸如taskkill /F /IM Steam.exe
之类的命令时,它们工作得很好,实际上我看到Steam关闭了。
答案 0 :(得分:0)
我可以通过删除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标志运行它,但这也不起作用。