2017-01-07 13 views
0

私はJavaプログラムの中からSteamを起動しようとしています。Steam.exeをRuntime.getRuntime()から起動できません。exec(..)

私はこれを試してみました:

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などのコマンドを実行しようとすると、それらは完全に正常に動作し、実際にはスチームクロージングが表示されます。

答えて

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"); 

働いていたしかし、私は他のいくつかの時間を要求されます非常に小さな問題、に走りました。その小さな問題は、スチームを閉じない限り、プロセスが次の命令を実行しないということです。私はcmd.exe/cフラグで実行しようとしましたが、どちらもうまくいきませんでした。

関連する問題