IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment lancer un executable AVEC des arguments depuis le code avec Process ?


Sujet :

C#

  1. #1
    Battosaiii
    Invité(e)
    Par défaut Comment lancer un executable AVEC des arguments depuis le code avec Process ?
    Bonjour,

    Je me suis aider des conseils sur ce forum.Mais je n'arrive toujours pas a passer des arguments a mon executable. L'executable se lance correctement mais aucun de mes arguments n'est pris en compte d'apres la sortie imprimee a l'ecran.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Process proc = new System.Diagnostics.Process();
                String javalaunch = "\"" + Environment.GetEnvironmentVariable("JAVA_HOME") + "\\bin\\java\"";
                String envCP = "-classpath"\"" + Environment.GetEnvironmentVariable("JAR_DIR") + "\\cxx_dev-rt.jar;" + Environment.GetEnvironmentVariable("BASE_DIR") + "\\lib\\ava_dev_code_gen\\" + Environment.GetEnvironmentVariable("VERSION") + "\\lm.jar\"";
     
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.FileName = javalaunch;
                proc.StartInfo.Arguments = envCP; //+ licenseFile;
     
                proc.Start();
                string output = proc.StandardOutput.ReadToEnd();
                Console.WriteLine(output);  // POUR VOIR LES DONNEES DE SORTIE
                proc.WaitForExit();
                proc.Close();
    les arguments sont correct car si je passe ces arguments crees dans le pormpt ca marche !
    Comment faire pour resoudre ce probleme . Je tourne en rond. Je regarde la doc sur la classe process mais j'ai l'impression que tout est correct.
    Commentaires ?
    Dernière modification par Battosaiii ; 21/11/2007 à 17h41.

  2. #2
    Membre averti Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Points : 332
    Points
    332
    Par défaut
    slt...

    juste pour teste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String javalaunch = " /c " + Environment.GetEnvironmentVariable("JAVA_HOME") + "\\bin\\java\\  ";
    String encVP=".....";
    javalaunch+=envCP;
    .
    .
    .
    proc.StartInfo.FileName = "cmd";
    proc.StartInfo.Arguments = javalaunch;
    Question: apres le java, tu n´as que 1 \

    si tu fais un Console.WriteLine sur javalunch et sur envCP, les chemins sont bons?

  3. #3
    Battosaiii
    Invité(e)
    Par défaut
    Yakshamash ! Very nice . How much ? Ok je craque j'ai trop vu du Borat .
    Merci mais ca marche pas :/. Oui javalunch et envCP ont des path corrects .

    Voila le code que j'ai tenter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     String javalaunch = " /c " + Environment.GetEnvironmentVariable("JAVA_HOME") + "\\bin\\java ";
    String encVP=".....";
    javalaunch+=envCP;
                proc.StartInfo.FileName = "cmd";
    proc.StartInfo.Arguments = javalaunch;
    Le result c'est :

    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)

    where options include:
    -client to select the "client" VM
    -server to select the "server" VM
    -hotspot is a synonym for the "client" VM [deprecated]
    The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    A ; separated list of directories, JAR archives,
    and ZIP archives to search for class files.
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -version:<value>
    require the specified version to run
    -showversion print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
    include/exclude user private JREs in the version search
    -? -help print this help message
    -X print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    disable assertions
    -esa | -enablesystemassertions
    enable system assertions
    -dsa | -disablesystemassertions
    disable system assertions
    -agentlib:<libname>[=<options>]
    load native agent library <libname>, e.g. -agentlib:hprof
    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
    load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
    load Java programming language agent, see java.lang.instrument
    Normalement j'aurais du avoir du texte avoir classpath incorrect.
    Si personne ne trouve la solution mon gouvernement m'enverra au Goulag .

  4. #4
    Membre averti Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Points : 332
    Points
    332
    Par défaut
    slt...


    Voila le code que j'ai tenter :
    t´as pas mis comme ca?

    j´ai mis tous les points, parce que ta string est enorme....
    mais ca devrait etre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String envCP = "-classpath \\" + Environment.GetEnvironmentVariable("JAR_DIR") + "\\cxx_dev-rt.jar\\" + Environment.GetEnvironmentVariable("BASE_DIR") + "\\lib\\ava_dev_code_gen\\" + Environment.GetEnvironmentVariable("VERSION") + "\\lm.jar";
    sur la string, j´a enleve un ; et ajoute quelques \ ...

  5. #5
    Battosaiii
    Invité(e)
    Par défaut
    Oui effectivement je n'ai pas mis ca :
    String encVP=".....";

    C'est juste pour aller plus vite. Mes arguments sont corrects je pense ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/01/2013, 14h01
  2. Lancer un .exe avec des arguments
    Par jacques73 dans le forum VBScript
    Réponses: 1
    Dernier message: 21/09/2010, 15h34
  3. [Batch] Lancer une autre appli avec des arguments
    Par mr_samy81 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 07/04/2009, 10h37
  4. Lancer un programme avec des arguments via IE...
    Par petozak dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 24/03/2006, 11h51
  5. Réponses: 2
    Dernier message: 14/01/2006, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo