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

这样做是为了调用Dll1.dll,该Dll1.dll是使用将邮件发送到我自己的邮件服务器的功能创建的。上面的代码运行并退出,并且没有邮件发送。

而且我还将Dll1.dll放在了UseDll1所在的文件夹中。

编辑:
我将Dll1.dll添加到system32文件夹中。

最佳答案

您是否已验证“DLL1.dll”的所有外部依赖项?

即使没有任何间接链接库,LoadLibrary也会失败。

关于visual-c++ - Loadlibrary无法加载dll,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4707517/

10-12 20:40