Estil possible d'esvoyer qqc a un programme console apps en C sous windows quand on l'appelle a partir d'un autre programme?
Estil possible d'esvoyer qqc a un programme console apps en C sous windows quand on l'appelle a partir d'un autre programme?
Oui soit:
-avec l'opérateur de redirection "<" et il faudra prélever les données sur "stdin",
-avec la ligne de commande, il suffit alors de récupérer les données dans le tableau prévu à cet effet.
Wouah....tu parles couramment le "mironais" toi !!!!Envoyé par seriousme
Moi, je dois être un peu dyslexique dans ma tête, parceque franchement je n'ai rien compris à la question....![]()
Tu peux passer des parametres au programme appelé
Sinon ya les FIFO pour la communication interprocessus
Code : Sélectionner tout - Visualiser dans une fenêtre à part system("programme param1 param2");
Programma param1 param2 c quoi ca?Envoyé par Gruik
Sinon merci a tous
Avec:
int argc:nombre de paramètres,
char *argv[]:liste des paramètres.
oui
Note que la liste d'arguments comprend aussi le nom du programme appelé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int main (int argc, char * argv[]) { }
Ex : pour l'appel "programme param1 param2"
argc = 3
argv = {"programme", "param1", "param2"};
(pour schematiser)
Je suis perdu, c'est pour apeler ou recevoir?Envoyé par Gruik
VOus puriez pas me metres les 2 cote a cot?
Pour appeler:
Pour recevoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part system("prog_a_appeler.exe param_1 param_2 ... param_n");
il suffit de lire les parametres dans le tableau de n+1 éléments "argv".
Cette question a déja été traitée maintes fois ; voir les forums VC++, dev windows et faire une rechercheEnvoyé par miron
Il faut obtenir le HINSTANCE et HANDLE du programme à appeler avec FindWindow/Ex et éventuellement EnumWindows.
Après avoir obtenu le HANDLE , utiliser SendMEssage et envoyer un message personnalisé
J'ai des pb, windows me dit que mon prog a rencontrer un pb et doit fermer....Envoyé par seriousme
Je n'ai pas du tout comprendre...mon prog apelant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <stdio.h> #include <stdlib.h> int main() { system("Ecoutez-moi.exe 22"); system("PAUSE"); return 0; }
mon prog apelé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int main(int argc, char *argv[]) { if (*argv[2]!=22) exit(0); ... }
C'est argv[1] et il faut faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (strcmp(argv[1],"22")!=0)
Envoyé par miron
Les sorties stdout de l'appelant servent d'entrées stdin à l'appelé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part C:\> appelant | appele
Exemple courant :
Au lieu de sortir le texte d'un coup à l'écran, il sort par bloc de N lignes avec une pause...
Code : Sélectionner tout - Visualiser dans une fenêtre à part C:\> type unlongtexte.txt | more
Partager