制作wpcap.dll"可选"

时间:2015-01-23 15:48:46

标签: c++ visual-studio winapi dll winpcap

我正在编写一个使用WinPcap来访问网络流量的程序。

我的问题是,假设我在没有安装WinPcap的机器上运行程序(即没有wpcap.dll),可执行文件一旦启动就会尝试加载DLL依赖项并在发现没有时崩溃wpcap.dll的。

在这种情况下,我想在没有程序崩溃的情况下回退到WinSock。这甚至可能吗?

我可以想象的唯一解决方案是从链接器中删除winpcap依赖项并手动尝试通过LoadLibrary调用加载wpcap DLL。 在应用程序初始化期间,我可以通过某种方式防止崩溃吗? (即捕获“未找到DLL”并使用WinSocks替代继续执行)

谢谢!

1 个答案:

答案 0 :(得分:4)

您的选择是:

  1. 按照问题中的建议从加载时切换到运行时链接。这意味着使用LoadLibraryGetProcAddress加载DLL并绑定到其函数。
  2. 切换到delay loading the DLL