Quiero ejecutar .exe desde un botón usando NetBeans
-
12-12-2019 - |
Pregunta
Quiero abrir otro programa que no está en la ruta de Windows. A continuación se muestra el código para abrir el Bloc de notas que está en la ruta de Windows.
Process process = Runtime.getRuntime().exec( "cmd.exe /C start notepad" );
y quiero abrir un archivo EXE desde la siguiente ruta:
C:\Users\midi\Documents\Downloads\Compressed\ARToolKit-2.72.1-bin-win32\ARToolKit\bin
por favor ayúdame. gracias de antemano
Solución
Suponiendo que el ejecutable se denomina "ejecutable.exe", simplemente debería ser
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" );
Si es una decisión sabia para el código huerto, la ruta absoluta es otra pregunta.
Otros consejos
Usted tiene el código para ejecutar los ejecutables allí mismo.Todo lo que necesitas hacer es escapar de los barras en el camino.
Process process = Runtime.getRuntime().exec("C:\\Users\\midi\\Documents\\Downloads\\Compressed\\ARToolKit-2.72.1-bin-win32\\ARToolKit\\bin");
Si nada funciona, cree un archivo por lotes usando Bloc de notas y cambiándolo a SOMENAME.BAT. Para su pregunta debe ser de la siguiente manera;
@echo on
cd C:\Users\midi\Documents\Downloads\Compressed\ARToolKit-2.72.1-bin-win32\ARToolKit\bin
run cnext
Luego, suponiendo que el archivo BAT está en el escritorio, incluya el código debajo de Button Button, haga clic en Lista.
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();
}