Inclusion de programme dans un programme
Résolu
maverick1984
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
Mictik -
Mictik -
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
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:
- Inclusion de programme dans un programme
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
- Forcer la fermeture d'un programme - Guide
6 réponses
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.
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.
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.
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.
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.
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!
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!
Bonjour,
merci pour ta reaction, je vais tout de suite essayer ca et je t'informerai. Vraiment merci pour tout. bonne journée
merci pour ta reaction, je vais tout de suite essayer ca et je t'informerai. Vraiment merci pour tout. bonne journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question