C ++如何动态加载第三方DLL文件

时间:2011-12-15 10:08:35

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

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

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

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

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

但它似乎是一个麻烦,我无法弄清楚如何加载任何接收一些自定义(枚举)参数的函数,例如在.pdf中,函数SendMessage(...)将PCBOTEventArgs.messageType作为参数之一。

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

为什么?

除了使用函数指针和GetProcAddress()之外还有其他什么吗?

2 个答案:

答案 0 :(得分:2)

dotNET =(Mircosoft).NET Framework与“普通”dll不同,你不能使用带有.NET dll的GetProcAddress和LoadLibrary

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

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

答案 1 :(得分:0)

第三方集成是使用您要连接的连接完成的,除非您想要为您的网站添加服务,要将特定的DLL安装到您的网站,首先要阅读所需的文档和连接,然后复制粘贴DLL文件到您的项目。 当您可以指定要选择作为第三方集成的服务时,您可以更清楚地了解