Process avec output dans une textbox

Signaler
Messages postés
14
Date d'inscription
mardi 26 août 2003
Statut
Membre
Dernière intervention
25 mai 2009
-
Messages postés
14
Date d'inscription
mardi 26 août 2003
Statut
Membre
Dernière intervention
25 mai 2009
-
Bonjour,

Je bosse sur une application windows form en C#2.0.
Je souhaite lancer une application externe au projet, qui s'execute dans une fenêtre MS-DOS.
J'utilise donc la class Process, ca marche plutôt bien, mais j'aimerai ne pas faire apparaitre la fenêtre ms-dos, et que les lignes affichées dans la fenêtre ms-dos, soit affichées dans une textbox ou listbox de mon application!

Donc vu vu qu'il y avait des propriétés au process pour redirectOutput.... mais pas moyen d'arriver à quelque chose!!! J'arrive à ne pas afficher la fenêtre ms-dos, mais pas à récupérer le contenu...

Quelqu'un à déjà fait ça?!

Merci!!

9 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.fr/cpref6/html/P_System_Diagnostics_Process_StandardOutput.htm#codeExampleToggle

<hr />
I love .net
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
En fait, même question, mais jai regardé le lien de Lutinore et je suis pas certain.

J'ai une application console qui roule en permanence, un Serveur quoi.

Et je souhaiterait avoir les trucs qui sont écrits live, dans la console.

Ex:

[15h00] Bob s'est connecté
[15h45] Bob s'est déconnecté
[19h00] Bob s'est connecté

Donc, je souhaiterait les voir apparaitre en temps réel, alors que ce que jai pu voir par le lien, c'est un programme qui roule du début a la fin, et ensuite retourne un string, c'est ca ?

Eric
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
En fait c'est pas précis mon truc, mais ils s'affichent déjà LIVE dans la console, et moi je voudrais les récupérer dans une application WINFORM, dans un textbox multiligne par exemple

Eric
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
Et sinon, j'ai acces aux sources de l'appli que je peut recompiler, ya moyen de mettre quelque part que tous mes Console.Writeline dans tout l'appli soit redirigé sur un textbox d'un form que je créerais dans l'appli même ?

En gros je voudrais soit un moyen de faire ça, soit un moyen d'y arriver avec une appli externe, le but étant de récupéré ce qui normalement est affich. dans la console et ce, en temps réel

Eric
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
"Donc, je souhaiterait les voir apparaitre en temps réel, alors que ce que jai pu voir par le lien, c'est un programme qui roule du début a la fin, et ensuite retourne un string, c'est ca ?"


Oui c'est ça, c'est souvent utile pour les utilitaires en ligne de commande. Ca doit être possible de récupérer la sortie durant tout le temps de l'exécution du programme mais je ne me suis pas penché sur cette possibilité.
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
64
Hello,

J'ai posé une source sur le site qui devrait répondre à ta question :

http://www.csharpfr.com/code.aspx?ID=43555

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
14
Date d'inscription
mardi 26 août 2003
Statut
Membre
Dernière intervention
25 mai 2009

Merci beaucoup SharpMao pour ta réponse et ton code!
Moi je suis arrivé à une solution bien différente, je vais pondre un petit  code pour faire un exemple.
J'utilise les évènements ErrorDataReceived et OutputDataReceived, les propriétés RedirectStandardError à true, ... et les méthodes BeginErrorReadLine(), etc...
Messages postés
14
Date d'inscription
mardi 26 août 2003
Statut
Membre
Dernière intervention
25 mai 2009

Bon donc en réponse à ma question, une autre solution que celle proposé par SharpMao.
http://www.csharpfr.com/code.aspx?ID=43556

Keyser ;)