2015-01-23 3 views
1

Я пишу программу, которая использует WinPcap для доступа к сетевому трафику.Сделать wpcap.dll «необязательным»

Мой вопрос: предположим, что я запустил программу на машине, где не установлен WinPcap (т. Е. Нет wpcap.dll), исполняемый файл после запуска попытается загрузить зависимости DLL и сбой при обнаружении того, что есть нет wpcap.dll.

В таком случае я хотел бы отступить к WinSock без сбоя программы. Возможно ли это?

Единственное решение, которое я могу воплотить, заключается в том, чтобы удалить зависимость winpcap от компоновщика и вручную попытаться загрузить библиотеку wpcap через вызов LoadLibrary. Могу ли я каким-то образом предотвратить сбой во время инициализации приложения? (т. е. поймать «DLL не найден» и продолжить выполнение с использованием альтернативы WinSocks)

Спасибо!

ответ

4

варианты:

  1. Переход от нагрузки время времени выполнения связывания, как предложено в этом вопросе. Это означает использование LoadLibrary и GetProcAddress для загрузки DLL и привязки его функций.
  2. Переключить на: delay loading the DLL.
+0

Thanks @DavidHeffernan, вариант 2 - тот, который я искал! – Wizche

Смежные вопросы