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 :

Un service lancé en debug dans un richTextBox.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 32
    Par défaut Un service lancé en debug dans un richTextBox.
    Bonjour à tous, voici mon problème qui va surement être facile à résoudre mais je ne trouve pas.
    Je souhaiterai lancer un process particulier de type service.
    Je mets donc la valeur StartInfo.FileName = "cmd.exe" et ensuite, j'éxecute mon service en mode debug de la façon suivante : monservice.exe /c

    Normalement, dans une cmd normale, le service se lance et il est marqué "APPUYEZ SUR ENTREE POUR TERMINER". Il suffit ensuite d'appuyer sur entrée pour le kill.
    En sortie, dans le shell, je peux faire apparaitre ce que je souhaite en mode debug.

    Dans mon code C#, je souhaite rediriger tout cela dans un richTextBox (par exemple).

    Voici donc ce que j'éxecute :

    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
    16
    17
    18
    19
    20
    21
    private void ShellMot_Shown(object sender, EventArgs e)
    {
    	this.richTextBox1.Clear();
    	process.StartInfo.FileName = "cmd.exe";
    	process.StartInfo.UseShellExecute = false;
    	process.StartInfo.RedirectStandardOutput = true;
    	process.StartInfo.RedirectStandardInput = true;
    	process.StartInfo.WindowStyle = 
                 System.Diagnostics.ProcessWindowStyle.Hidden;
    	process.StartInfo.CreateNoWindow = true;
    	process.Start();
    	process.BeginOutputReadLine();
    	process.StandardInput.WriteLine("monservice.exe /c");
     
    }
     
    private void process_OutputDataReceived(object sender,
                System.Diagnostics.DataReceivedEventArgs e)
    {
    	richTextBox1.AppendText(e.Data + "\r");
    }
    Alors, lorsque je lance le process, mon richTextBox affiche bien "APPUYEZ SUR ENTREE POUR TERMINER"
    Mais, le service semble pas être lancé. Plus rien ne s'affiche de plus dans la fenêtre (alors qu'en réalité, j'envoie du texte dans le shell).

    Savez-vous d'où ça pourrait bien venir ou avez-vous une solution pour moi ?

    Merci.

  2. #2
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 32
    Par défaut
    J'imagine que la question ne doit pas être très claire. Malgré cela, j'ai tout de même avancé un tout petit peu sans résoudre le problème réellement.

    J'ai remarqué que lorsque j'exécute le service sans rediriger le flux de sortie et d'entrée, tout fonctionne correctement (mais alors, je n'ai plus aucun contrôle sur le processus).

    Voici le code avec les parties en commentaires qui permettent de rendre le service fonctionnel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    process.StartInfo.FileName = "D:\\monservice.exe";
    process.StartInfo.Arguments = "/c";
    process.StartInfo.UseShellExecute = false;
    //process.StartInfo.RedirectStandardOutput = true;
    //process.StartInfo.RedirectStandardInput = true;
    //process.StartInfo.RedirectStandardError = true;
    process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    process.StartInfo.CreateNoWindow = true;
    process.Start();
    //process.BeginOutputReadLine();
    //process.BeginErrorReadLine();
    Des que je redirige un flux (entrée et/ou sortie), le service ne semble plus répondre (il existe bien dans le gestionnaire des tâches). Comme s'il était en "standby".

    Voilà, j'imagine que j'oublie quelque chose mais je ne trouve pas.

    J'espère avoir de l'aide

    Merci,
    Celes.

Discussions similaires

  1. Option Debug dans access
    Par uskiki85 dans le forum Access
    Réponses: 11
    Dernier message: 26/09/2005, 15h15
  2. Réponses: 3
    Dernier message: 17/02/2005, 00h39
  3. [VB.NET] Combinaison de style dans un RichTextBox
    Par Mourad dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/02/2005, 16h30
  4. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 03h00
  5. [VB.NET] Pb avec le soulignement dans un RichTextBox
    Par Ludog35 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/06/2004, 18h59

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