HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011
-
7 mai 2006 à 17:02
HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011
-
8 mai 2006 à 00:56
Bonjour,
En mettant en place un hook global avec DLL, je me suis aperçu que la fonction dllMain n'était jamais exécutée. Pourtant une instance de la DLL est chargé pour chaque processus crée après la mise en place du hook. On devrai au moins avoir un appel à la fonction avec le paramètre fdwReason = DLL_PROCESS_ATTACH ?
Voila ma fontion dllMain :
//Point d'entrée de la DLL.
BOOL WINAPI DllMain(HINSTANCE hInstanceDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
//Se produit lors du chargement de la DLL par un processus(LoadLibrary).
//Pour empecher le chargement de la DLL il faut faire un "return FALSE".
case DLL_PROCESS_ATTACH:
break;
//Se produit lors du déchargement de la DLL par un processus(FreeLibrary).
case DLL_PROCESS_DETACH:
break;
//Se produit lors de l'association d'un thread avec la DLL.
case DLL_THREAD_ATTACH:
break;
//Se produit lorsqu'un thread se désassocie de la DLL.
case DLL_THREAD_DETACH:
break;
}
MessageBeep(MB_OK);
//Renvoi TRUE en cas de succès.
return TRUE;
}
Voila, comme vous pouvez le voir j'ai inclu un MessageBeep() pour me signaler si la fonction était bien appellée, hors aucun signal sonore ne s'est fait entendre...
Si vous pouviez m'expliquer pourquoi ça m'arrangerai, merci d'avance
HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011 7 mai 2006 à 21:06
Salut BruNews,
j'ai testé et c'est toujours pareil. Logiquement je devrais plus pouvoir lancer une seule application avec le bout de code la, ça n'a strictement aucun effet. La fonction dllMain n'est jamais appellée, c'est très étrange...pourtant à part ça le hook fonctionne très bien.