1

Windows のアプリからゲームを起動したいと考えています。これらのゲームの多くは、構成のためにローカル ファイルに依存しています。

これは現在、アプリケーションの外部でファイルを実行/実行する方法です

Process r = Runtime.getRuntime().exec("cmd /c start " + gamePATH);

コマンドとして入力することも試みgamePathましたが、ハローPCゲームからまだこのエラーが発生します:

Cannot Find "C:\...Directory containing my Java app...\config.txt"

Javaが実行されるときの「現在のディレクトリ」は、それが実行されている場所のようです。私は進歩なしでこれを試しました:

Process a = Runtime.getRuntime().exec("cmd /c cd " + gamePATH.subSequence(0, gamePATH.lastIndexOf("\\")+1));

コマンドラインで、現在のディレクトリを実行可能ファイルを含むディレクトリに設定します。繰り返しますがうまくいきませんでしたので、可能であればガイダンスをいただければ幸いです

4

2 に答える 2

3

Process Builderを見たいとします。具体的には、メソッドを使用して作業ディレクトリを設定しますProcessBuilder.directory(File)start()メソッドを使用して実行します。

例えば:

final ProcessBuilder pb = new ProcessBuilder("theExecutable");
pb.directory(new File("the/working/directory/path"));
final Process p = pb.start();
于 2012-03-31T10:13:49.957 に答える
0

同様の問題がありました。ProcessBuilder インスタンスでファイルへの完全なパスを指定することを忘れないでください。

例えば:

final ProcessBuilder pb = new ProcessBuilder("C:/FolderName/SubFolderName/ExecutableFileName.exe");
pb.directory(new File("C:/FolderName/SubFolderName"));
final Process p = pb.start();
于 2016-02-16T11:21:02.107 に答える