Inclusion de programme dans un programme

Résolu/Fermé
maverick1984 Messages postés 24 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 8 juin 2009 - 12 nov. 2007 à 10:12
 Mictik - 20 mars 2008 à 15:14
Bonjour,

J'ai vraiment besoin d'aide sur ce coup. Voilà je voux explique, j'ai écri trois longs programmes qui ont beaucoup de fonctions dans chacune d'elles et qui marchent comme je le souhaite. Maintenant mon problème est que je veux faire un nouveau programme qui execute les taches de chaque programme ( les 3 premiers dont j'ai parlé au début ) en me servant de l'instruction if et c'est là que je suis bloqué, je ne sais pas comment inclure mes 3 programmes dans mon nouveau programme. Je peux coller les codes sources si ca peut vous aider à mieux comprendre. Je compte enormement sur votre aide et vous remercie d'avance. Bonne journée à tout le monde.
J'utilise DEV-CPP
A voir également:

6 réponses

mindslight Messages postés 87 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 29 octobre 2009 12
12 nov. 2007 à 10:27
Bonjour,

Si tu veux executer simultanement plusieur tâche dans un même
programme, il faut que tu fasse appel aux thread.

code:

/*
** INCLUDES
*/
#include <windows.h>

/*
LPTHREAD_START_ROUTINE == DWORD WINAPI test(LPVOID param);
LPVOID == void *
*/

HANDLE run_thread(LPTHREAD_START_ROUTINE func)
{
HANDLE hwnd;
DWORD id;

hwnd = CreateThread(NULL, 0, func, NULL, 0, &id);
return (hwnd);
}

void stop_thread(HANDLE hwnd)
{
WaitForSingleObject(hwnd, 0);
CloseHandle(hwnd);
hwnd = NULL;
}

mais attention les threads, c'est assez compliqué dans certain cas.
Notament si t'es threads partagent des variables.

Je te conseil de lire des tutoriels avant de coder.
0
maverick1984 Messages postés 24 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 8 juin 2009 1
12 nov. 2007 à 12:28
bonjour,

merci pour votre réponse mais je ne comprends pas trop bien l'histoire des threads. Est ce qu'il n'ya pas un moyen tres simple avec #include pour inclure mes 3 programmes dans le nouveau et de faire leur appel à chaque fois qe j'enaurai besoin ? merci.
0
mindslight Messages postés 87 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 29 octobre 2009 12
12 nov. 2007 à 12:44
Re,

tu ne peux pas inclure un binaire dans une source.
#include permet d'inclure uniquement des headers (.h .hpp).

en réalité toi tu veux crée un programme capable de lancer 3 "sous programmes"

voici donc comment tu peux procéder:
je ne sais pas si tu code en C ou C++, alors le code cera en C.

#include <windows.h>
#include <stdio.h>

int main(int argc, char **argv)
{
 int  i;

 printf("entrez votre choix:\n");
 scanf( "%d", &i );
 if (i == 1)
     WinExec("prog1.exe", SW_SHOW);
 else if (i == 2)
     WinExec("prog2.exe", SW_SHOW);
 else if (i == 3)
     WinExec("prog3.exe", SW_SHOW);
 else
     printf("programme inconnu!!!\n");
 return (1);
}


pense a verifier la valeur de retour de WinExec:

valeur de retour Description
0 mémoire inssufisante
ERROR_BAD_FORMAT ce n'est pas un .exe
ERROR_FILE_NOT_FOUND fichier introuvable
ERROR_PATH_NOT_FOUND le répertoire n'existe pas

Voila @+, et bon courage!
0
maverick1984 Messages postés 24 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 8 juin 2009 1
12 nov. 2007 à 13:21
Bonjour,

merci pour ta reaction, je vais tout de suite essayer ca et je t'informerai. Vraiment merci pour tout. bonne journée
0

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

Posez votre question
maverick1984 Messages postés 24 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 8 juin 2009 1
12 nov. 2007 à 13:31
Bonjour,

Bonne nouvelle !!!!!!!!!!!!! ca marche comme pas possible je vous assure. Merci merci merci mille fois
0
Bonjour,

j'ai un projet en programmation à faire et j'ai besoin d'inclure plusieurs programmes dans un seule. Le programme est sous linux et en C.
0