Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
481 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [runtime] lancer un programme .exe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[runtime] lancer un programme .exe

n°1541791
allserv
Posté le 12-04-2007 à 10:17:00  profilanswer
 

Bonsoir,
 
J'aimerais avoir votre aide concernant l'éxecution d'un programme .exe via la JVM.
En fait le programme chess.exe est un programme indépendant qui prend ses données dans des fichiers textes et mets une réponse en fonction dans le fichier reponse.txt.
 
Ce que je souhaite faire, c'est lancer le .exe lors du clic sur un objet et en fonction de la valeur ecrite dans reponse.txt je fais mes traitements.
 
Le problème est que lorsque j'effectue cet appel le programme java se bloque et le fichier reponse.txt n'est pas crée.
 
Mon code de départ était celui la :

Code :
  1. try{
  2.  Runtime runtime = Runtime.getRuntime();
  3.  Process p = runtime.exec("C:\\Documents and Settings\\Louis-Alexandre\\Bureau\\CHESS\\CHESS\\CHESS\\chess.exe" );
  4.  while(p.waitFor()!=0){System.out.println("proc en cours" );}
  5. } catch (IOException e1) {
  6. JOptionPane.showMessageDialog(null,"Error","Impossible de lancer le programme c",JOptionPane.ERROR_MESSAGE);
  7. } catch (InterruptedException e2) {
  8. e2.printStackTrace();
  9. }


 
Après m'être renseigné j'ai vu que je n'étais pas le seul a avoir le même problème et il faut lire les flux d'e/s pour les erreurs pour eviter que le buffer soit plein et bloque le programme.
 
Voici le nouveau bout de code :
 

Code :
  1. //On fais appel au programme C
  2. String args[] = new String[1];
  3. args[0] = "C:\\Documents and Settings\\Louis-Alexandre\\Bureau\\CHESS\\CHESS\\CHESS\\chess.exe";
  4. final CommandRunner runner = new CommandRunner(args, null);
  5. System.out.println("Attente de la fin du processus "+runner);
  6. runner.waitForCompletion();


 
Les classes CommandRunner .. sont issus de ce site et permettent de bouffer les flux de sortie et d'erreur :
http://sgamel.free.fr/spip.php?article38
 
Le problème est que malgré tout cela je n'y arrive pas !
 
Quelqu'un pourrait m'aider ?

mood
Publicité
Posté le 12-04-2007 à 10:17:00  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [runtime] lancer un programme .exe

 

Sujets relatifs
programme pour WinXp ou 2000 compilé sous VistaAide pour un programme bat
[Java] Gestion d'un verrou pour des opérations Runtime[Crypto] Probleme dans ce programme?
programme maple[VB] Lancer excel à partir d'un programme VB [Résolu]
Exécution d'un programme C sur serveur Free [RESOLU]Programme qui ne compile pas
Problème pour lancer un fichier midi à partir d'Excel 
Plus de sujets relatifs à : [runtime] lancer un programme .exe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR