2017-09-12 2 views
-1

私はVisual StudioのC++でdllライブラリを読み込もうとしています。C++でdll(ハンドルを取得)を開きます。

私は、エラーコード193を取得し実行すると、これは次のとおりです。 ERROR_BAD_EXE_FORMAT 193(0xC1) %1は有効なWin32アプリケーションではありません。

コードが

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; 
} 

任意の提案を下回っていますか?ありがとう

+0

dllのパスを見ると、64ビットのdllのようですが、実行ファイルはおそらく32ビットです。あなたの実行可能ファイルは64ビットでなければなりません32ビットのアプリケーションは64ビットのDLLをロードできません – Asesh

答えて

0

DLLパスが64ビット(WIN64)DLLのように見えます。

そのDLLをロードしようとしているプログラムが64ビットターゲット用にコンパイルされていることを確認してください。 64ビットDLLを32ビットアプリケーションでロードすることはできません。

詳細はhereをお読みください。

+0

これは大きな助けです - ありがとう! –