Bonsoir,
j'ai quelques questions, pour un programme j'ai besoin de lancer d'autres programmes et récupérer leur output, jusque là ça marche super en utilisant CreateProcess, et WaitForSingleObject, seulement là où ça ne fonctionne plus c'est quand je lance un programme win32 par exemple, bon là si j'ai passé INFINITE comme paramètre à WaitForSingleObject, ça mouline dans le vent jusqu'à planter l'application.
Le problème c'est biensur que l'application win32 avec interface etc n'écris rien via WriteLn() etc.
Bon c'est là que j'explique correctement le problème (il est temps), admettons maintenant ce programme console du C pour changer (je sais je ne suis pas dans le forum consacré au C)
le problème est biensur en Delphi et pas dans ce code C, je récupère ceci (en admettant que j'ai posé un Memo et que j'y ajoute le resultat que je lis grâce à CreateProcess etc) :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdio.h> int main( void ) { int x; printf("Entrez un chiffre ...: \t"); scanf(&x, "%d"); printf("\nResultat : %d", x); return 0; }
Le problème c'est que je n'ai pas rentré le 2, on dirait qu'il le pré-remplie tout seul, et si dans un programme console Pascal je viens à lancer un MessageDlg (oui oui je sais c'est moitié console ) alors là comme dis plus haut ça tourne dans le vent et cette boite ne s'affiche pas du coup je ne peux pas cliquer oui/non/abort/...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Entrez un chiffre ...: Resultat : 2
Bref comment faire dans le cas preci du programme C plus haut pour lire le resultat jusqu'à la demande d'input, là redonner la main à mon programme pour que je puisse lui envoyer (au programme console), et ensuite lire le resultat, et ça autant de fois qu'il serait demandé d'entrer quelquechose.
En gros émuler l'invite de commande DOS ?
je ne sais pas si j'ai était super clair, pourtant c'est simple à expliquer
j'ajoute que j'ai bien evidemment cherché , j'ai trouvé deux ou trois réponses interessantes mais qui donnent le même resultat je ne peux pas envoyer des infos au programme etc comme dit plus haut.
Aussi : je tourne sous Delphi6 Perso.
Partager