Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Deux handles pour stdout dans un process ? [ Archives / Au secours ] (chuckboy)

mercredi 9 novembre 2005 à 17:21:05 | Deux handles pour stdout dans un process ?

chuckboy

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 !

jeudi 10 novembre 2005 à 11:09:35 | Re : Deux handles pour stdout dans un process ?

julienbj


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
Savon

jeudi 10 novembre 2005 à 11:25:28 | Re : Deux handles pour stdout dans un process ?

vecchio56

Administrateur CodeS-SourceS
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

jeudi 10 novembre 2005 à 14:38:00 | Re : Deux handles pour stdout dans un process ?

chuckboy

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.

jeudi 10 novembre 2005 à 16:35:53 | Re : Deux handles pour stdout dans un process ?

chuckboy

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.


jeudi 10 novembre 2005 à 16:44:27 | Re : Deux handles pour stdout dans un process ?

vecchio56

Administrateur CodeS-SourceS
Je dois mal conprendre... tu veux voir quoi à l'écran alors??

jeudi 10 novembre 2005 à 17:00:57 | Re : Deux handles pour stdout dans un process ?

chuckboy

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 




Cette discussion est classé dans : écran, thread, sortie, stdout, handles


Répondre à ce message

Sujets en rapport avec ce message

Redirection sortie standard processus [ par bouba ] Bonjour, j'ai un programme qui créer un nouveau thread avec la fonction ShellExecute de l'API Win32 afin de lancer un exécutable. Le thread ainsi lanc Obtenir la valeur des pixels à l'écran en sortie [ par wperrad ] salut ! Je programme un moteur 3d en ce moment et je voudrais savoir si il est possible d'avoir en sortie (en mémoire ou dans un ficher texte, peu comment créer un thread sous vc++, ou est définie pthread.h [ par saerlo ] GORDON Sleep dans un Thread [ par crevars ] Bonjour, peut-on libérer du temps processeur avec autre chose qu'un Sleep(1) dans un Thread ?? en fait il me faudrait quelque chose comme un Sleep (0. Probleme thread linux ... [ par Tidam ] Voila mon probleme, quand je ve compiler il me sort une erreur : passing `void (*)(void *)' as argument 3 of `pthread_create(pthread_t *, const pthrea MFC, thread, callback, etc... La totale ! [ par SW_87 ] Bonjour , Je reprends mon problème car apparemment je me suis mal exprimé . J'ai créé une application "MFC AppWizzard (exe)" sous VC++ 6.0. que je n multithread ? [ par saerlo ] comment récupérer la valeur retournée par une fonction lancée par un thread ?exemple: CreateThread(NULL, 0, fonction1, NULL, 0,0);comment récupérer la mscoree.dll [ par cosmobob ] Bonjour, je viens de me rendre compte qu'en compilant un programme avec visual studio 7, l'exe généré est ou bien dépendant de msvcr7x.dll (bibliotheq Arreter un thread [ par tibob51 ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB detection d'un messageBox et fermeture automatique [ par elroulianito ] J'aimerai utiliser une fonction issue d'une dll. Le problème est qu'à l'execution de celle-ci une fenêtre de type messagebox apparait m'invitant à cli


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.