2017-09-12 2 views
-1

Je cherche à charger une bibliothèque dll en C++, visual studio.Ouvrez une DLL (get handle) en C++

Quand je puis-je obtenir le code d'erreur 193, c'est: ERROR_BAD_EXE_FORMAT 193 (0xC1) % 1 n'est pas une application Win32 valide.

Le code est ci-dessous

using namespace std; 

int main(){ 

    HINSTANCE dllhandle = 
    LoadLibrary(L"C:\\LKG5000_DLL_ver1_10\\English\\64bit\\LKIF2.dll"); 
    cout << dllhandle << endl; 

    if (dllhandle != 0) 
    { 
     cout << "Created Handle" << endl; 
    } 
    else 
    { 
     cout << ":(" << endl; 
    } 

    cout << GetLastError() << endl; 
    getchar(); //Lazy way to keep cmd window open 

    return 0; 
} 

Toutes les suggestions? Merci

+0

en regardant le chemin de dll, on dirait que c'est une DLL 64 bits, mais votre exécutable est probablement 32 bits. Votre fichier exécutable doit être en 64 bits car les applications 32 bits ne peuvent pas charger les DLL 64 bits – Asesh

Répondre

0

Étant donné le chemin d'accès DLL, il semble que ce soit une DLL 64 bits (WIN64).

Assurez-vous que votre programme qui tente de charger cette DLL est également compilé pour la cible 64 bits. Vous ne pouvez pas charger une DLL 64 bits dans une application 32 bits ou inversement.

Lire here pour plus de détails.

+0

C'est une aide précieuse - Merci! –