Lancer un executable a partir de java

Salut,
Je veux exécuter un programme ".exe" que j'ai ecrit en "c" a partir d'un autre ecrit en java.
j'ai essayé d'utiliser la runtime est ca a fonctionné pour des programmes windows tel notepad mais non pour lancer mes programme. d'apres vous pourquoi?
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Bonjour, voici comment lancer un programme exécutable sous java.

    //passage par argument de la commande à lancer
    public void StartCommand(String command) {
    try {
    //creation du processus
    Process p = Runtime.getRuntime().exec(command);
    InputStream in = p.getInputStream();

    //on récupère le flux de sortie du programme

    StringBuilder build = new StringBuilder();
    char c = (char) in.read();

    while (c != (char) -1) {
    build.append(c);
    c = (char) in.read();
    }

    String response = build.toString();

    //on l'affiche
    System.out.println(response);
    }
    catch (Exception e) {
    System.out.println("\n" + command + ": commande inconnu ");
    }
    }

    www.mbodjsystem.com
    12
    1. comment lancer un programme java a partir du dos.
      et puis comment appeler( exécuter) unprogramme en C ou C++ a partir du java.
      merci pour votre réponse et votre aide . "c'est urgent pour mon PFE".
      2
      1. java -jar "chemin de l archive .jar" .java
        0
    2. bjr
      je voudrai un code sourc java avec qui je peux lancer l'executable d'un logisiel
      c a dire je vx l'installer avec son executable
      et un code source pour disinstaller un logiciel tjr en java
      -2
      1. 9alaha 3ala3an wa2ajhacha bilbouka2 :-)

        import java.io.*;
        public class Exec {
        public static void main(String[] args) {
        String cmd;
        // Win 95/98/ : pour lancer un .bat
        // cmd = "command.com /c c:\\fichier.bat";

        // Win NT(XP...) : pour lancer un .bat
        // cmd = "cmd /c c:\\fichier.bat";
        // Win 95/98/NT : pour lancer un .exe
        // cmd = "command.com /c c:\\windows\\notepad.exe";
        // Win 95/98/NT : pour lancer une commande dos
        // cmd = "cmd /c copy src.txt dest.txt";
        // UNIX : pour lancer un script en precisant le shell (sh,bash)
        // cmd = "/usr/bin/sh script.sh";
        // UNIX : pour lancer script
        // cmd = "/path_complet/tonscript";
        // EXEMPLES .EXE : NetMeeting
        cmd = "C:\\Program Files\\NetMeeting\\conf.exe";
        // ainsi on peut lancer des programme tout a fait autonome
        // on peut soit faire p.waitfor() ou pas les deux cas fonctionnent correctement
        // je suppose aussi que c'est tout a fait vrai pour le cas d'UNIX (je ne l'ai pas tester

        try {
        Runtime r = Runtime.getRuntime();
        Process p = r.exec(cmd);
        p.waitFor();//si l'application doit attendre a ce que ce process fini
        }catch(Exception e) {
        System.out.println("erreur d'execution " + cmd + e.toString());
        }
        }
        }

        //c'est pas aussi simple que ça...
        0