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
Mictik - 20 mars 2008 à 15:14
A voir également:
- Inclusion de programme dans un programme
- Programme demarrage windows 10 - Guide
- Fichier ouvert dans un autre programme - Guide
- Programme démarrage windows 10 - Guide
- Desinstaller un programme - Guide
- Forcer la fermeture d'un programme - Guide
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
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.
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.
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
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.
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.
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
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.
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!
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
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
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
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
12 nov. 2007 à 13:31
Bonjour,
Bonne nouvelle !!!!!!!!!!!!! ca marche comme pas possible je vous assure. Merci merci merci mille fois
Bonne nouvelle !!!!!!!!!!!!! ca marche comme pas possible je vous assure. Merci merci merci mille fois