Deux handles pour stdout dans un process ?

cs_chuckboy Messages postés 64 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 31 mars 2009 - 9 nov. 2005 à 17:21
cs_chuckboy Messages postés 64 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 31 mars 2009 - 10 nov. 2005 à 17:00
Bonjour

J'explique mon probleme, je lance une thread et je veut récupere ce qu'elle me sort à l'écran. Donc dans mon CreateProcess je lui spécifie un handle de sortie et je le récupère dans mon programme (celui qui a lancé la thread). Mais le problème c'est que en faisant ca la thread roule mais n'affiche plus rien à l'écran.

J'aimerais récuperer la sortie de la thread mais que celle-ci continue de sortir l'information à l'écran. DOnc c'est possible de lui spécifié deux handle de sortie ??

Merci !

6 réponses

julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
10 nov. 2005 à 11:09
Tu as les fonctions dup et dup2 qui doivent te dupliquer (comme le
nom le laisse penser) des handles. (unistd.h pour linux, me semble que
doit etre dans io.h pour windows)

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 nov. 2005 à 11:25
Oui mais même si on duplique le handle, il pointera au même endroit...
Il me semble plus logique qu'il n'y ait qu'une seule sortie standard
Rien ne t'empêche de créer une console et d'y afficher ce que tu récupère depuis le programme
0
cs_chuckboy Messages postés 64 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 31 mars 2009 1
10 nov. 2005 à 14:38
Oui c'est possible d'afficher dans une console mais c'est vraiment pas optimale... surtout que normalement j'attend la fin de l'execution de la thread en question.

Je suis décut j'étais sûr que c'étais faisable assez facilement.
0
cs_chuckboy Messages postés 64 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 31 mars 2009 1
10 nov. 2005 à 16:35
Je recherche toujours une autre solution car celle proposé ne fonctionne pas car je doit absolument laisser la fenetre accessible (pouvoir la fermer) et recuperer le texte qui s'y trouve tout en le laissant s'afficher normalement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 nov. 2005 à 16:44
Je dois mal conprendre... tu veux voir quoi à l'écran alors??
0
cs_chuckboy Messages postés 64 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 31 mars 2009 1
10 nov. 2005 à 17:00
Lol , je sais j'ai pas l'air clair clair :)

Bon

-Je lance un process qui tourne pendant 20 minute et affiche environ 1000 ligne à l'écran.
-Je doit recuperer la sortie de se process pour valider son fonctionnement.

-Si je recupere en lui precisant une autre sortie standard le process tourne mais n'affiche rien dans sa fenêtre d'execution.
-Si j'affiche la sortie dans une autre fenêtre j'ai toujour la fenêtre du process mais vide cette fois et une fausse fenêtre d'execution qui contient uniquement le texte. Sa fonctionne pas car si l'user ferme la fausse fenêtre et bien le process tourne encore.
-Je ne peut pas enlever la fenêtre d'execution du process car celui-ci continu a tourner si l'usager ferme mon programme et bloque pour plus au moins 20 minutes toutes tentative de relancer mon programme.

Bon cé encore complexe mais c'est pas facile à décrire
0
Rejoignez-nous