Loadlibrary ne parvient pas à charger la dll

    *******************UseDll1.cpp*********************

        #include <windows.h>

typedef int (*function1_ptr) ();

function1_ptr function1=NULL;

int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { 

    HMODULE myDll = LoadLibrary("Dll1.dll"); 

    if(myDll!=NULL) {  
        function1 = (function1_ptr) GetProcAddress(myDll,"function1");  

        if(function1!=NULL)  
            function1();
        else
            exit(4);

        FreeLibrary(myDll);
    }
    else
        exit(6);

    return 0;
}

Ceci est fait dans le but de les appeler Dll1.dll qui a été créé avec la fonctionnalité pour envoyer un mail à mon propre serveur de mail. Le code ci-dessus s'exécute et se ferme,et aucun courrier n'est envoyé.

Et j'ai aussi placé le Dll1.dll dans le même dossier que UseDll1.

EDIT:
J'ai ajouté de l'Dll1.dll dans le dossier system32.

  • Ne le mettez pas dans le system32. Il n'est pas supposé y aller, et vous êtes juste de piratage sans la résolution du problème réel.
  • j'ai lu sur internet où ils disent qu'il y a des chances que la dll n'est pas en mesure de charger, car il possède également des dépendances,mais dans ce cas, fonction1 serait de retour NULL..wht dire??
  • si la variable madll n'est pas nulle mais GetProcAddress retourner null, vérifier si le fichier dll est l'exportation de fonction requise. ne prenez note de "name mangling" si vous exportez en tant que c++
InformationsquelleAutor Vinod K | 2011-01-16