cs_sena
Messages postés126Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention15 février 2005
-
23 avril 2003 à 12:02
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 2007
-
23 avril 2003 à 20:33
Bonjour,
j'ai créer une dll dans la quelle ce trouve une fonction d'écoute en UDP qui affiche un message dè kel recoit kelke choz.
Cette fonction tourne toujours a partir du moment ou l'utilisateur de la dll l'a appelée.
Mais je suppose que si l'utilisateur appelle cette fonction, il n'aura plus la main tant qu'il ne sera pas sorti de la fonction? Non?
Donc ce que je souhaiterais c'est quela fonction soit appelée, et kel rende la main à l'utilisateur.
Ou alors je lance la fonction au chargement de la dll (ca aussi c'est possible), mais il faut absolument rendre la main pour que l'utilisateur puisse utiliser la dll.
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 23 avril 2003 à 14:08
Solution 1:
BOOL WINAPI DllMain(
HINSTANCE hinstDLL, // handle to DLL module
DWORD fdwReason, // reason for calling function
LPVOID lpvReserved // reserved
)
{
case DLL_PROCESS_ATTACH:
// Au chargement de la DLL
break;
case DLL_PROCESS_DETACH:
// A la libération de la DLL
break;
}
Solution 2:
Utiliser la fonction CreateThread pour exécuter ta fonction en arrière plan.
cs_sena
Messages postés126Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention15 février 2005 23 avril 2003 à 14:49
Merci
to solution 1 ne fait pas de thread donc au chargement de la dll si j'appel la fonction, je resterais bloqué dans la bovle de récption en UDP? non?
rappel: la fonction que je souhaite exécutée en arrière plan est en faite une réception UDP qui tourne en boucle ... ( while(1) .....)
Donc dans cette solution aussi je dois utiliser les threads?