Alors dans ce cas, la marche à suivre est la suivante:
1) Charger la dll en mémoire, à l'aide de LoadLibrary()
	
	1 2 3 4 5
   | HMODULE	hModule = LoadLibrary("le path de la dll");
if ( hModule == NULL )
{
    // la dll n'a pas pu être chargée, gérer l'erreur
} | 
 2) Appeler la fonction souhaitée
Arf, j'ai oublié, il nous faut la signature des fonctions définies dans le .def pour pouvoir les appeler. Autrement dit, il nous faut le fichier d'en-tête (.h).
Prenons par exemple le .def suivant:
qui correspond à l'en-tête suivant:
	
	int unefonction(float f);
 Pour appeler unefonction, il faut faire ainsi:
	
	1 2 3 4 5 6 7 8 9
   |  
// on défini le type de la fonction a appeler pour simplifier le code:
typedef int (WINAPI *UnTypeDeFonction) (float f);
 
// on récupère un pointeur sur cette fonction
UnTypeDeFonction lafonction = (UnTypeDeFonction)GetProcAddress(hm, "unefonction");
 
//on appelle la fonction:
int unint = lafonction(3.45);  | 
 
Remarque: tout ceci est trés bien expliqué dans le lien fourni par neuro6 
						
					
Partager