【问题标题】:C++ how to dynamically load a 3rd party DLL fileC ++如何动态加载第3方DLL文件
【发布时间】:2011-12-15 10:08:35
【问题描述】:

我需要将第 3 方 DLL 文件与我的应用程序集成,我只有 .DLL 和 DLL 的 .pdf 文档。

这是 dll 的 pdf:http://www.whiteboxrobotics.com/Support/pdf/PC-BOT_dotNet_v1.0_documentation.pdf

我可以通过将 DLL 拖到工具箱中来在 Visual Studio 中加载它,但是,我想知道在编码中是如何完成的。

由于我只有 DLL,我猜唯一的选择是动态加载,使用 LoadLibrary() 和 GetProcAddress()。

但这似乎很麻烦,我不知道如何加载任何接收一些自定义(枚举)参数的函数,例如在 .pdf 中,函数 SendMessage(...) 将 PCBOTEventArgs.messageType 作为参数之一。

然而,通过设计视图加载 DLL 非常简单,并且可以提取整个 DLL。

为什么会这样?

除了使用函数指针和GetProcAddress(),还有什么别的吗?

【问题讨论】:

    标签: c++ .net dll dynamic-linking getprocaddress


    【解决方案1】:

    dotNET = (Mircosoft) .NET Framework 与“普通” dll 不同,您不能将 GetProcAddress 和 LoadLibrary 与 .NET dll 一起使用

    .Net Dlls 通常是打包类,通过将 dll 拖到您的工作区中,您只需导入 dlls 范围,在对象浏览器中自行查看

    要在运行时加载 .net dll(程序集),例如插件,请查看此处http://support.microsoft.com/kb/837908

    【讨论】:

      【解决方案2】:

      第 3 方集成是使用您想要连接的连接来完成的DLL 文件到您的项目。 当您可以指定要选择作为第 3 方集成的服务时,您可以更清楚地说明

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-31
        相关资源
        最近更新 更多