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 :
Alors, lorsque je lance le process, mon richTextBox affiche bien "APPUYEZ SUR ENTREE POUR TERMINER"
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"); }
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.
Partager