Voglio eseguire .exe da un pulsante usando NetBeans
-
12-12-2019 - |
Domanda
Voglio aprire un altro programma che non è nel percorso di Windows. Di seguito sono riportati il codice per aprire Blocco note che è nel percorso di Windows.
Process process = Runtime.getRuntime().exec( "cmd.exe /C start notepad" );
.
E voglio aprire un file EXE dal percorso sottostante:
C:\Users\midi\Documents\Downloads\Compressed\ARToolKit-2.72.1-bin-win32\ARToolKit\bin
.
per favore aiutami. Grazie in anticipo
Soluzione
Supponendo che l'eseguibile sia chiamato "eseguibile.exe" dovrebbe essere semplicemente
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" );
.
Se è una decisione saggia di hardcode il percorso assoluto è un'altra domanda.
Altri suggerimenti
Hai il codice per eseguire gli eseguibili proprio lì.Tutto quello che devi fare è sfuggire alle barrette nel sentiero.
Process process = Runtime.getRuntime().exec("C:\\Users\\midi\\Documents\\Downloads\\Compressed\\ARToolKit-2.72.1-bin-win32\\ARToolKit\\bin");
. Se nulla funziona a creare un file batch usando Blocco note e rinominarlo a Somename.bat. Per la tua domanda dovrebbe essere come di seguito;
@echo on
cd C:\Users\midi\Documents\Downloads\Compressed\ARToolKit-2.72.1-bin-win32\ARToolKit\bin
run cnext
.
Quindi supporre che il file BAT sia sul desktop Includi il codice seguente dietro il pulsante Fare clic su Ascoltatore.
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();
}
.