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 :

Redirection entrée standart non prise en compte


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Par défaut Redirection entrée standart non prise en compte
    Salut,

    Toujours et encore des processus qui m'embêtent , j'ai l'impression d'avoir tout fait mais rien ne se passe.

    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    myProcess.StartInfo.UseShellExecute = false;
    myProcess.StartInfo.RedirectStandardInput = true;
    myProcess.Start();
     
    myProcess.StandartInput.WriteLine("unMotDePasse");
    myProcess.StandartInput.Close();
    myProcess.Close();
    le processus lancé est un process demandant un mot de passe. La sortie console est :
    Enter your password :

    le problème c'est que le myProcess.StandartInput.WriteLine("unMotDePasse"); n'est pas pris en compte et je suis obligé d'entrée au clavier le mot de passe. Quelqu'un a-t-il une idée?

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Ta sortie de console n'est pas associé à l'entrée standard.
    Tu as beau redirigé l'entrée, cela ne l'ecris pas dans la sortie de Enter your password :

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Par défaut
    Euh,

    j'ai peur de ne pas avoir compris ton explication.
    myProcess.StandartInput.WriteLine("motDePasse"); n'écrit pas dans l'entrée standart de enter your password? il faut l'écrire sur sa sortie standart (ce qui est impossible par ailleurs)

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Oui en fait ce que je veut dire, c'est que la sortie de enter machin et l'entrée standard du process -> je ne pense pas que cela est matché.
    Bref en gros tu ecris dans le vide et pas dans la sortie de enter machin.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Par défaut
    Je suis peut-être idiot mais la je ne comprend vraiment pas.
    Je réexplique tout!
    Process1 = le processus de mon appli
    Process2 = le processus lancé par mon appli.

    le but de process1 : control les E/S du process2
    le but du process2: acitver une connexion ssh a partir d'un mot de passe (le login est passé en argument)

    dans process1 je fait bien process2.RedirectStandartInput = true; donc théoriquement, taper sur le clavier ne sert plus à rien pour process2

    dans process1 je fait process2.StandartInput.WriteLine("motDePasse"); ce qui a pour effet, je pense, d'envoyer "motDePasse" sur l'entrée standart de process2

    Process2, une fois lancé, écrit sur sa sortie standart : "Enter your password" jusqu'a la rien d'anormal je n'est pas redirigé sa sortie standart.

    dans Process2, théoriquement, arrive le "motDePasse" qui vient de process1. théoriquement aussi, cette arrivé devrait valider le de passe et passer à la suite dans process2 or ce n'est pas le cas.

    Donc la, je ne comprend pas pourquoi tu me dis que je n'ai pas redirigé la sortie standart de ma conole. Dans les deux cas, autant pour process1 que pour process2, je n'est besoin de leur sortie standart?

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    dans process1 je fait process2.StandartInput.WriteLine("motDePasse"); ce qui a pour effet, je pense, d'envoyer "motDePasse" sur l'entrée standart de process2
    Faux

    Tu modifies l'entrée standard pas la sortie standard.

    Vois tes processus comme deux tunnels.
    Chacun à son entrée et sa sortie.
    C'est leurs entrées standars et sorties standards.

    Si le clavier correspond à la route1, l'entrée standars de tes processus c'est la route1.
    La sortie n'a pas bougé (en général la console dos) on va dire la route2 pour la sortie des deux fichiers.

    Donc redirigé l'entrée standard de ton process 1 va faire que la rout3 (ton string) deviendra l'entrée de ton process1.

    Si tu ne fait que cela, bah ton string va sortir sur la sortie standard, qui est la console et non l'entrée de ton second process !!!

    Donc faut rediriger l'entrée du second process sur la sortie du premier process.

Discussions similaires

  1. Variable d'entrée non prise en compte
    Par Aldous dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/09/2011, 14h15
  2. [VxiR2] Jointure entre 2 tables non prise en compte dans requête BO
    Par Geo55 dans le forum Designer
    Réponses: 3
    Dernier message: 10/06/2011, 17h37
  3. [css] Feuille de style non prise en compte
    Par Neuromancien2 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/06/2005, 11h49
  4. [netbeans] Modifications non prises en compte
    Par nadass dans le forum NetBeans
    Réponses: 6
    Dernier message: 07/04/2005, 13h49
  5. Lecture de fichier - dernière ligne non prise en compte
    Par JulienPles dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h57

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