Foro de elhacker.net

Programación => Java => Mensaje iniciado por: d91 en 18 Junio 2014, 20:58 pm



Título: una llamada a cmd desde un jframe
Publicado por: d91 en 18 Junio 2014, 20:58 pm
Un saludo a todos, estoy haciendo un jframe en java, pero necesito mandar a llamar un programa externo ejecutandose en cmd al hacer click en un boton, ya he hecho pruebas como con help, ipconfig y dir y si funciona, porque ademas necesito que muestre en un jtextarea lo que mostro el comando ejecutado; pero en mi caso el ejecutable es un exe generado en c++, ya lo he incluido al PATH para llamarlo pero no me funciona, a veces no hace y en otras solo sale el mensaje de error, en resumen no se como mandarlo a llamar y en donde poner el ejecutable; no se si la llamada la hace a C:\\documents and settings\ usuario \ ..o a donde porque no se ejecuta el programita que necesito las lineas de codigo que utilizo son:
Código
  1. if(e.getSource()==boton2){
  2. Runtime analisis=Runtime.getRuntime();
  3. try{
  4.  
  5. String cmd="help";
  6.  
  7.    Process proceso = analisis.exec(cmd);
  8.    BufferedReader read=new BufferedReader(new InputStreamReader(proceso.getInputStream()));
  9.    textarea1.setText("");
  10.    String linea;
  11.    while((linea=read.readLine())!=null){
  12. textarea1.append(linea+"\n");
  13. }
  14.  
el pedazo anterior funciona de maravilla
pero como help es un comando por lotes
y mi programa es un analizador.exe busco
alguna forma de hacer un cd\ para ejecutar desde
C:\\

Código
  1. if(e.getSource()==boton2){
  2. Runtime analisis=Runtime.getRuntime();
  3. try{
  4.  
  5.  
  6.  
  7. String[] cmd = new String[3];
  8.  
  9.  
  10. cmd[0] = "cmd.exe" ;
  11.               cmd[1] = "/C"; // no se si esta linea hace un cd \
  12.               cmd[2] = "analizador.exe";
  13.                                        //aqui ya probe agregarlo al PATH
  14. //y poner el nombre de la variable pero no me ha dado resultado
  15.    Process proceso = analisis.exec(cmd);
  16.    BufferedReader read=new BufferedReader(new InputStreamReader(proceso.getInputStream()));
  17.    textarea1.setText("");
  18.    String linea;
  19.    while((linea=read.readLine())!=null){
  20. textarea1.append(linea+"\n");
  21. }
  22.  
  23.  
  24.  
a veces digo donde estara help para pegar
mi ejecutable en ese mismo directorio....
agradecere de antemano su orientacion,