Programme en C/C++ pour exectuer 2 programme

Résolu
lordglub Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour,

quelqu'un connaiterai la syntaxe en c ou c++ pour executer 2 autres programme independant??
Je ne veux rien renvoyer au programme initial jsute executer les deux autres programmes.
JE suis sous windows mais je ne veux pas faire de batch.

Merci
A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
En C, je ferais:
system("start prog1");
system("start prog2");
0
lordglub Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
j aimerai egalement le faire sous linux, j ai deja essayer la commande execvp, mais il lance juste le premeir programme et s arret dessus, si je ferme le premeir programme, il ne lance pas le second pour autant ...

char * argss []¸ = {"konkeror", NULL} ;
execvp ("konqueror", argss);

char * argss []¸ = {"kwrite", NULL} ;
execvp ("kwrite", argss);

en fait idealelement j aiemrai un programme +/- similaire sous linux et wuindows merci bien que windows soit ma priorité.

quelqu un sais comment utiliser execvp ou un equivalent.. ??
0
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Si les deux doivent être lancés en parallèle, le plus simple c'est de faire un fork. Dans le processus père tu lances le premier programme (avec execvp par exemple), dans le processus fils le deuxième programme.

Rien ne t'empêche de mettre des sections de codes qui diffèrent selon l'OS, et de passer un #define à la compilation. Exemple :
#include <iostream>
int main(){
#ifdef LINUX
  std::cout << "compilé pour linux" << std::endl;
#elif WINDOWS
  std::cout << "compilé pour windows" << std::endl;
#endif
  //...
  std::cout << "au revoir" << std::endl;
  return 0;
}

Pour compiler sous linux :
g++ -W -Wall -DLINUX plop.cpp

... même principe sous windows.

Bonne chance
0
bizon38
 
Salut,

J'ai le même besoin de lancer un second programme sous windows. Mon problème est que l'execution du second programme ouvre une fenetre de command (style DOS) et qu'on perd le focus sur l'interface de la 1ere applcation. Je n'ai pas accès au code de la première application. Si quelqu'un connait un moyen pour contourner le problème uniquement dans le second programme, merci d'avance.

A+
0

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

Posez votre question
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Je crois (mais je suis pas sûre) que selon la manière dont tu l'exécutes (system ou execvp) dans un cas ça s'affiche dans l'autre non. Mais vu que ça fait plusieurs années que je n'ai pas codé sous windows en fait je n'en suis pas sûre. Tu peux toujours essayer, ça ne mange pas de pain.

Bonne chance
0