1

アプリケーション (ゲーム) を Java スクリプトで起動しようとしています。理由の背後には長い説明があるので、その部分はスキップします。

独自のディレクトリから実行しない限り、ゲームは実行されません。IE: Java に EXE を起動するように伝えるだけで、ゲーム内でエラーが発生します。そのディレクトリから起動する必要があります。

私はこれについて何時間もグーグルで検索しましたが、本当の答えが見つからないようです. 多くのGoogleingの後、私はこれが正しいはずであることを学びました:

String workingDir = "F:\\Games\\COD4\\";
String cmd = "iw3mp.exe";           

Runtime.getRuntime().exec(cmd,null,new File(workingDir));

ただし、次のエラーが表示されます。

Exception in thread "main" java.io.IOException: Cannot run program "iw3mp.exe" (in directory "F:\Games\COD4"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at cod4launcher.main(cod4launcher.java:29)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 4 more

助けてください!ありがとう。

4

2 に答える 2

6

代わりにこれを試してください:

String workingDir = "F:\\Games\\COD4\\";
String cmd = workingDir + "iw3mp.exe";
Runtime.getRuntime().exec(cmd,null,new File(workingDir));

iw3mp.exe はおそらくシステム パス上にないため、Java に実行可能ファイルへの絶対パスを指定する必要があります。

于 2009-01-19T03:27:56.640 に答える
0

使用するjava.lang.ProcessBuilder#directory(java.io.File)

Processs p = 
    new ProcessBuilder(cmd).
        directory(new File(workingDir)).
        start();
于 2011-09-15T15:33:16.740 に答える