#include // header pour les sorties #include "Windows.h" // header pour la DLL using namespace std; // toujours pour les sorties typedef bool (CALLBACK* VerifPwd)(char *); // définition d'une structure pour la fonction appelée VerifPwd pVerifPwd = NULL; // déclaration d'un pointeur pour stocker l'adresse de la fonction int main() { char pass[10]; // tableau d'entrée du mot de passe HMODULE hDll; // déclaration d'un handle vers la dll hDll = LoadLibrary("verif.dll"); // on charge la DLL en mémoire if(!hDll) // si elle n'est pas chargée... cout << "La DLL n'a pas pu etre trouvee.\n"; // ... on affiche une erreur else // sinon on continue { pVerifPwd = (VerifPwd)GetProcAddress(hDll,"VerifPwd"); // on initialise le pointeur avec l'adresse de la //fonction if(!pVerifPwd) // si ca n'a pas fonctionné... cout << "La fonction n'a pas pu etre trouvee dans la DLL\n"; // ... on affiche une erreur else // sinon on continue { cin.getline(pass, 10); // le mot de passe est stocké dans le tableau if(pVerifPwd(pass)) // appel de la fonction de la DLL cout << "Vous etes bien enregistre.\n\n"; else cout << "Le mot de passe est errone.\n\n"; } FreeLibrary(hDll); // on libère la DLL de la mémoire } system("pause"); return 0; }