Visual C ++ - 当相应的DLL不可用时调用函数

时间:2013-06-12 13:00:08

标签: dll

我有一个Visual C ++程序,需要使用另一个程序来运行某些特定的功能来与我的USB设备通信。第二个程序由USB Device公司提供。

该公司还提供DLL和库来访问通信模块。

程序运行得很好。我可以很好地与USB设备通信。

问题是与USB设备的通信不是我的Visual C ++程序的唯一功能,所以即使没有安装通信模块也应该能够打开程序。

使用方法RegOpenKeyEx,我成功检查了通讯模块是否已安装。因此,如果通信模块不可用,我可以避免调用函数来访问USB设备。

问题是我的程序在没有通讯模块的情况下仍未在计算机中打开。我出现了错误: “Appication无法正确启动(0x000007b)。单击OK关闭应用程序。”

有可能解决我的问题吗?

1 个答案:

答案 0 :(得分:2)

您需要动态加载它,而不是静态链接到DLL。然后您可以根据是否已安装来选择是否加载。 Here是一篇展示如何执行此操作的文章,Here是一个SO问题,其中包含有关访问动态加载的DLL内容的更详细信息。