0

Windowsパスにない別のプログラムを開きたい。以下は、Windowsパスにあるメモ帳を開くためのコードです。

Process process = Runtime.getRuntime().exec( "cmd.exe /C start notepad" ); 

そして私は以下のパスからexeファイルを開きたいです:

C:\Users\midi\Documents\Downloads\Compressed\ARToolKit-2.72.1-bin-win32\ARToolKit\bin 

私を助けてください。前もって感謝します

4

3 に答える 3

2

実行可能ファイルが「Executable.exe」と呼ばれると仮定すると、それは単に

Process process = Runtime.getRuntime().exec("cmd.exe /C start C:\\Users\\midi\Documents\\Downloads\\Compressed\\ARToolKit-2.72.1-bin-win32\\ARToolKit\\bin\\Executable.exe" );

絶対パスをハードコーディングすることが賢明な決定である場合は、別の問題です。

于 2012-07-26T19:09:40.747 に答える
2

そこに実行可能ファイルを実行するためのコードがあります。あなたがする必要があるのは、パスのスラッシュをエスケープすることです。

Process process = Runtime.getRuntime().exec("C:\\Users\\midi\\Documents\\Downloads\\Compressed\\ARToolKit-2.72.1-bin-win32\\ARToolKit\\bin");
于 2012-07-26T19:01:30.217 に答える
0

何も機能しない場合は、メモ帳を使用してバッチファイルを作成し、名前をsomeName.batに変更します。質問については、次のようになります。

@echo on
cd C:\Users\midi\Documents\Downloads\Compressed\ARToolKit-2.72.1-bin-win32\ARToolKit\bin 
run cnext

次に、batファイルがデスクトップ上にあると仮定して、ボタンクリックリスナーの背後にある以下のコードを含めます。

  try {
                Process pr=Runtime.getRuntime().exec("cmd /c start C:\\Users\\Labuser\\Desktop\\someName.bat");
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
于 2016-12-21T12:55:19.517 に答える