Foros del Web » Programación para mayores de 30 ;) » Java »

Ejecutar .exe desde JAVA

Estas en el tema de Ejecutar .exe desde JAVA en el foro de Java en Foros del Web. Hola............Necesito abrir una aplicacion esterna desde mi programa JAVA...............es decir ejecutar un .exe Si alguien me pudiera ayudar, muy agradecido le estare.......
  #1 (permalink)  
Antiguo 25/01/2006, 16:26
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Ejecutar .exe desde JAVA

Hola............Necesito abrir una aplicacion esterna desde mi programa JAVA...............es decir ejecutar un .exe
Si alguien me pudiera ayudar, muy agradecido le estare....
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #2 (permalink)  
Antiguo 25/01/2006, 18:09
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Mirate http://www.forosdelweb.com/showthrea...light=ejecutar

Busca en el foro que ya ha salido un par de veces
  #3 (permalink)  
Antiguo 26/01/2006, 07:03
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
.exe desde JAVA

Hola.........este es el codigo que he utilizado para la ejecucion de .exe
Código PHP:
  Runtime obj Runtime.getRuntime();
  
obj.exec("C:\\WINDOWS\\NOTEPAD.EXE"); 
El problema es que no me lanza ninguna excepcion, pero tampoco me ejecuta el programa.................Tambien lo he intentado ejecutando un .bat donde en el llamo la aplicacion, pero pasa lo mismo................

Alguna idea???????......gracias
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #4 (permalink)  
Antiguo 26/01/2006, 07:40
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Prueba con esto
Código:
public class test {
	public static void main(String[] args){
		Runtime aplicacion = Runtime.getRuntime(); 
        try{aplicacion.exec("C:/Windows/System32/NOTEPAD.EXE"); }
        catch(Exception e){}

	}
}
  #5 (permalink)  
Antiguo 26/01/2006, 07:49
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
.exe desde java

Lo pruebo y me funciona tal cual esta alli................el problema es que este metodo lo debo invocar desde un JSP............es aqui cuando no me carga nada, pero tampoco me arroja ninguna excepcion...................
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #6 (permalink)  
Antiguo 26/01/2006, 08:01
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
Hola docmonsalve:

La idea es que si lo ejecutas en el JSP te va a tratar de ejecutar ese programa en el servidor. ¿Lo quieres ejecutar en el lado del cliente? Pues necesariamente tendrás que poner un applet y firmarlo para que tenga acceso a los recursos locales.

Espero que ayude.
__________________
El último TipdaR
  #7 (permalink)  
Antiguo 26/01/2006, 08:08
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
¿ No te seria mejor intentarlo de el lado de el cliente ?
Código HTML:
<html>
....
<script language="JavaScript">
Shell= new ActiveXObject("WScript.Shell"); 
Shell.Run("notepad");
</script>
....
</html> 
  #8 (permalink)  
Antiguo 26/01/2006, 08:22
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Exe

Tienen razon...................lo intentare entonces ejecutandolo del lado le cliente.....quien obviamente es quien ejecutara la aplicacion...........

Gracias por haberme hecho caer en cuenta es ese pequeñisimo detalle
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #9 (permalink)  
Antiguo 26/01/2006, 08:26
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
Hola dogduck... hacía tiempo que no pasaba por aquí. ¿Es mi idea o actualmente todo mundo está desarrollando webs con Java para Windows? Ese Script que has puesto funciona solo con Internet Explorer.
__________________
El último TipdaR
  #10 (permalink)  
Antiguo 26/01/2006, 08:27
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Gracias

Muchas Gracias DogDuck ......funciono tu javascript perfectamente...............
Muy Agradecido
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #11 (permalink)  
Antiguo 26/01/2006, 08:29
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Eummm, si el cliente esta medianamente configurado como toca, por motivos de seguridad bastante obvios no funcionará. Aparte de sólo funcionar en principio para Explorer.

PD: Aclaro. Funcionar funciona si tienes las restricciones de seguridad bajas o le das los permisos adecuados, pero dejar que un una pagina JSP te haga eso es, desde el punto de vista de seguridad, un agujero por el que cabe un camion .
  #12 (permalink)  
Antiguo 26/01/2006, 08:30
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
para Tipdar

Cita:
Iniciado por Tipdar
Hola dogduck... hacía tiempo que no pasaba por aquí. ¿Es mi idea o actualmente todo mundo está desarrollando webs con Java para Windows? Ese Script que has puesto funciona solo con Internet Explorer.
Hey Tipdar...........creo que lo que pasa es que poco a poco nos hemos dado cuenta del gran mundo que es JAVA...........es fantastico las cosas que se pueden hacer con este lenguaje..........
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #13 (permalink)  
Antiguo 26/01/2006, 08:34
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por Tipdar
Hola dogduck... hacía tiempo que no pasaba por aquí. ¿Es mi idea o actualmente todo mundo está desarrollando webs con Java para Windows? Ese Script que has puesto funciona solo con Internet Explorer.
No, pero hay gente que sigue haciendo aplicaciones que solo funcionan con ese navegador, ya que como es el mas extendido en el mundo empresarial, desafortunadamente, pues con hacerlas así ya les vale.

Los hay que las hacemos para que funcionen con mas navegadores y mas sistemas operativos, tanto en el servidor como en el cliente.
  #14 (permalink)  
Antiguo 26/01/2006, 08:36
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Seguridad

Cita:
Iniciado por GreenEyed
Eummm, si el cliente esta medianamente configurado como toca, por motivos de seguridad bastante obvios no funcionará. Aparte de sólo funcionar en principio para Explorer.

PD: Aclaro. Funcionar funciona si tienes las restricciones de seguridad bajas o le das los permisos adecuados, pero dejar que un una pagina JSP te haga eso es, desde el punto de vista de seguridad, un agujero por el que cabe un camion .
Eso tiene mucha logica...........pero creeme que en mi contexto de trabajo no sera para nada peligroso esta abertura que se esta haciendo........
Cada configuracion estara siempre ligada al contexto de desarrollo que se maneje en 'X' empresa o negocio
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #15 (permalink)  
Antiguo 26/01/2006, 08:39
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Repuesta

Cita:
Iniciado por GreenEyed
No, pero hay gente que sigue haciendo aplicaciones que solo funcionan con ese navegador, ya que como es el mas extendido en el mundo empresarial, desafortunadamente, pues con hacerlas así ya les vale.

Los hay que las hacemos para que funcionen con mas navegadores y mas sistemas operativos, tanto en el servidor como en el cliente.
El hecho no es que "nos valga hacerla asi".....sino que como te digo.....cada vez que te contratan para X proyecto debes tener un contexto claro de donde se va a desenvolver tu aplicacion......si ese esquema que te plantean es totalmente fijo (como es mi caso), no habra problemas es desarrollar solo algunos modulos unicamente para su funcionamiento correcto en el IExplorer
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #16 (permalink)  
Antiguo 26/01/2006, 08:39
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
dacmonsalve,

aprecio mucho tu comentario... pero es que sigo con el asunto de mantener a Java independiente de la plataforma. Para eso se creó. Puede ser que no conozca mucho de utilizar Java sobre Windows, de hecho trabajo en Linux, pero siempre que hago algo, trato de que funcione en cualquier sistema.

Un saludo cordial y afectuoso
__________________
El último TipdaR
  #17 (permalink)  
Antiguo 26/01/2006, 08:41
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Hey

Bueno ahi si como dice mi Santa Madre.........
"Entre gustos no hay disgustos..."

.....SUERTE.......
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #18 (permalink)  
Antiguo 26/01/2006, 08:54
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Cita:
Gato blanco , gato negro ... Hummm.
Lo que importa es que caze ratones
Lo de independiente de la plataforma lo entiendo. Pero hay que saber adaptarse al medio y si el medio del que comes es Microsoft ... tendrás que aprender a hablar en su idioma . Ya que si no el Bill se nos come con su framework .Net que en realidad es la competencia pura y dura de la JVM.
( framework .Net = independiente de la plataforma y encima puedes elegir lenguaje C# , VB , J# , ...). Así que a espabilarse y no escandalizarse con la ortodoxia de que si esto no es puro Java ...

En cuanto a lo de la seguridad . Existen soluciones como crear zonas de confianza , y se supone que confiar en un Applet firmado es tan arriesgado como confiar en un activeX ... ¿ Confiarias en este applet que he firmado yo
http://club.idecnet.com/~ccastano/femepa/050106.htm ?...

A parte de que normalmente en páginas corporativas , intranets , ya no se está "in the wild" y se puede hacer que un active X se ejecute sin comprometer el sistema
  #19 (permalink)  
Antiguo 26/01/2006, 10:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por dacmonsalve
El hecho no es que "nos valga hacerla asi".....sino que como te digo.....cada vez que te contratan para X proyecto debes tener un contexto claro de donde se va a desenvolver tu aplicacion......si ese esquema que te plantean es totalmente fijo (como es mi caso), no habra problemas es desarrollar solo algunos modulos unicamente para su funcionamiento correcto en el IExplorer
Esa es exactamente la definición de "así os vale" . Es decir, como hacerlo así ya funciona no hace falta buscar la forma de que funcione con otros navegadores.
Y para algunas cosas, es perfectamente válido. Los problemas vienen el día que hay que cambiar de navegador por algún motivo, pero esa es otra historia.

Yo únicamente respondía a la pregunta de si hacerlo así en Java era normal. De hecho Java en este caso ni siquiera aparece, ya que es una cuestión de JavaScript en el cliente. Pero vamos, lo único que quería decir es que mucha gente se mueve en un entorno donde atarse a un navegador no les supone un problema inmediato, y por eso no necesitan buscar soluciones abiertas que funcionen en otros navegadores. Para lo bueno y para lo malo.
  #20 (permalink)  
Antiguo 26/01/2006, 10:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Sonrisa

Cita:
Iniciado por dogduck
Lo de independiente de la plataforma lo entiendo. Pero hay que saber adaptarse al medio y si el medio del que comes es Microsoft ... tendrás que aprender a hablar en su idioma . Ya que si no el Bill se nos come con su framework .Net que en realidad es la competencia pura y dura de la JVM.
( framework .Net = independiente de la plataforma y encima puedes elegir lenguaje C# , VB , J# , ...). Así que a espabilarse y no escandalizarse con la ortodoxia de que si esto no es puro Java ...
Aquí nadie se escandaliza ni es ortodoxia. Y encima ni siquiera es Java, ya que es una cuestion de JavaScript. No tiene absolutamente nada que ver con .Net, C#, VB, PHP, Perl o lo que sea que uses para hacer tus aplicaciones web. De hecho lo que comenta Tipdar tampoco se aplica en este caso por que daría exactamente igual que el servidor que devuelve la página fuera un IIS con ASP.Net o un LAMP.

La cuestión, en este caso, es si lo que haces funciona con varios navegadores, incluso suponiendo que todos los clientes tienen Windows, o solo funciona con el IExplorer. Si estas totalmente seguro que tu aplicación solo será accedida desde ese navegador durante toda su vida útil o cambiarlo por otro sistema no te será un problema llegado el caso, por que es sencillo, entonces sin problemas. Si no, puedes encontrarte con problemas.

Si no, basta echar un vistazo los portales que han tenido que actualizarse hoy en día debido a los ultimos problemas, bastante gordos, con el último virus que afectaba al Explorer, y que resulta que sus paginas no se ven bien con ningun otro navegador. Y dejemos a una lado las cuestiones de estar a favor en contra de Microsoft y no confundamos la cuestion. Llegado el caso, es igual de equivocado hacer una aplicación que sólo funciona para el Mozilla, el Firefox, el Opera, el Konqueror, el Safari....


Cita:
Iniciado por dogduck
En cuanto a lo de la seguridad . Existen soluciones como crear zonas de confianza , y se supone que confiar en un Applet firmado es tan arriesgado como confiar en un activeX ... ¿ Confiarias en este applet que he firmado yo
http://club.idecnet.com/~ccastano/femepa/050106.htm ?...

A parte de que normalmente en páginas corporativas , intranets , ya no se está "in the wild" y se puede hacer que un active X se ejecute sin comprometer el sistema
Por supuesto que existen zonas de confianza y a no ser que hayan cambiado las cosas en ActiveX desde que lo mire, es mucho más arriesgado confiar en una ActiveX que en un applet firmado. ¿Por que? Por que en un applet puedes especificar exactamente qué permisos le das, diciendole incluso los permisos sobre ficheros especificos, puertos de red o propiedades del sistema que puede leer. La ultima vez que lo mire a un ActiveX le dejabas hacer todo o nada, así que no era lo mismo. Quizá haya cambiado, que puede ser.

Y lo de que no comprometa el sistema por estar en una intranet no es cierto, lo que pasa es que se confia en otras medidas para garantizar la seguridad, que es la seguridad de que nadie podra acceder a ese servidor web desde fuera y hacer una "perrada". Por otro lado, el 90% de los ataques se producen por ex-empleados descontentos o empleados toca pelotas, y bastaria cambiar "notepad" por "deltree c:\windows" y ala, cualquiera que acceda a la pàgina se reirá un rato.

Al menos a un applet hace falta un certificado con clave privada para firmarlo y puedes restringirle los permisos. Y funciona con varios navegadores.

Pero bueno, que tampoco pasa nada. Cada uno lo hace como quiere y asume los riesgos que cree son asumibles.
  #21 (permalink)  
Antiguo 03/03/2006, 06:42
Avatar de deccweb  
Fecha de Ingreso: febrero-2003
Ubicación: Mataro
Mensajes: 365
Antigüedad: 21 años, 2 meses
Puntos: 0
Cita:
Iniciado por dogduck
Prueba con esto
Código:
public class test {
	public static void main(String[] args){
		Runtime aplicacion = Runtime.getRuntime(); 
        try{aplicacion.exec("C:/Windows/System32/NOTEPAD.EXE"); }
        catch(Exception e){}

	}
}
Y como puedo hacer para que me compruebe en que unidad esta instalado el sistema operativo?
__________________
Calle17.net

edgargranados.es
  #22 (permalink)  
Antiguo 03/03/2006, 07:18
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
No lo he probado , pero supongo que con las variables de entorno :
Código:
...
Runtime aplicacion = Runtime.getRuntime(); 
        try{
              aplicacion.exec("%windir%/System32/NOTEPAD.EXE"); }
        catch(Exception e){
         system.out.println(e);
         }
y creo que también puede funcionar "%SystemRoot%/System32/NOTEPAD.EXE"

o "%ComSpec% start NOTEPAD.EXE"

probando lo sabrás.
  #23 (permalink)  
Antiguo 17/10/2006, 12:12
Avatar de fewar  
Fecha de Ingreso: octubre-2006
Mensajes: 22
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta ayuda con .bat

hola a todos!!!!

estoy creando una aplicacion con jsp y debo cargar una paqueña aplicacion echa en un .bat. ¿Como puedo llamar a este .bat?.

He creado tambien el applet que debo llamr desde jsp alguna idea!!!???

gracias
  #24 (permalink)  
Antiguo 16/11/2007, 09:58
 
Fecha de Ingreso: agosto-2002
Mensajes: 32
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: Ejecutar .exe desde JAVA

hola DogDuck como ejecutaste es el codigo html, yo trate u no resulto tube que hacerlo asi pero las lineas que llaman a ejecutar la aplicacion notepad no funcionaron.

<body onLoad="return NomHost(this.form);">

<script language="JavaScript">
function NomHost(f){

Shell= new ActiveXObject("WScript.Shell");
Shell.Run("notepad");


alert("prueba");
}
</script>
</body>

esoty interezado en ejecutar en el cliente codigo que me muestre el nombre del equipo ose este:
echo "Nombre del Equipo:".$nombre_equipo =$_ENV["COMPUTERNAME"];
  #25 (permalink)  
Antiguo 29/11/2007, 07:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ejecutar .exe desde JAVA

Es necesario obligatoriamente indicar la ruta absoluta del .exe para poder ejecutarlo? Yo quiero ejecutar un .exe que tengo en mi variable de entorno PATH, y que ejecuto sin problemas desde la linea de comandos del cmd. Ahora bien, para ejecutar el mismo programa desde Java, la unica forma que encuentro es indicando la ruta completa para el mismo. Sabeis alguno xq esto es asi? Existe alguna solucion para ello? La verdad es que es mucho mas comodo trabajar directamente con el nombre del ejecutable que con la ruta absoluta.

Muchas gracias,

Cuetu
  #26 (permalink)  
Antiguo 04/04/2008, 14:36
 
Fecha de Ingreso: abril-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar .exe desde JAVA

Hola a todos! espero esten bien :)

Al igual que dacmonsalve necesito ejecutar un .exe o .bat desde el lado del cliente, estoy usando strut y tomcat de servidor.
Al usar el codigo propuesto por dogduck en html me funciona perfectamente, pero cuando intento correrlo en la jsp y a través de tomcat me genera el siguiente error:
el servidor de automatizaciòn no puede crear el objeto.

He modificado las opciones de seguridad de IE y no se elimina el problema, alguien sabe que puede estar pasando?

Agradezco de antemano sus respuestas.

Sofi
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:57.