【发布时间】:2017-04-09 19:50:35
【问题描述】:
我有两个具有相同 API 的 dll 访问不同的硬件设备(由我构建)。我想根据在计算机中检测到的硬件在运行时选择其中一个。
我发现在调用 DLL 中的任何函数之前,我可以使用 windows 函数 LoadLibrary 加载两个库之一,并且 VB 将使用加载的库 - 但这只有在文件名与文件名匹配时才有效函数Declare(或Dllimport),即两个dll版本必须具有相同的文件名。这意味着这些dll不能位于同一目录中(例如在System32目录中)。
我能否拥有两个具有两个不同文件名的 dll,它们为运行时可选择的 VB.NET 提供相同的 API?
【问题讨论】: