Попытка загрузить DLL в Windows с помощью LoadLibrary, когда зависимая DLL отсутствует

У меня есть приложение, которое использует LoadLibrary в Windows для динамической загрузки подключаемых модулей. Однако некоторые плагины имеют другие зависимые библиотеки DLL, например библиотеки DLL клиента базы данных.

У меня есть приложение, которое использует LoadLibrary в Windows для динамической загрузки подключаемых модулей. Однако некоторые плагины имеют другие зависимые библиотеки DLL, например библиотеки DLL клиента базы данных.

У меня есть приложение, которое использует LoadLibrary в Windows для динамической загрузки подключаемых модулей. Однако некоторые плагины имеют другие зависимые библиотеки DLL, например библиотеки DLL клиента базы данных. Когда вы пытаетесь загрузить такую ​​DLL, а одна из зависимых DLL не существует, вы получаете неприятное диалоговое окно Windows:

«Программа не может запуститься, потому что xxx.ddl отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы исправьте эту проблему. "

Есть ли простой способ избежать этого диалога? Я надеялся, что можно использовать LoadLibraryEx и передать флаг, который говорит: «Не показывай мне этот надоедливый диалог», но это не похоже.

Я бы хотел, чтобы приложение обработало эту ошибку, вместо того, чтобы Windows обрабатывать это для меня, тем более что текст сообщения неверен (проблема не в том, что программа не запускается, программа работает вполне нормально, она просто не может загрузить этот плагин).

Что я' Я бы хотел избежать необходимости переписывать плагины, у которых есть эти внешние зависимости, чтобы они сами выполняли динамическую загрузку любых зависимых модулей, а затем запрашивали любые точки входа.

В любом случае, любые предложения будут с благодарностью приняты.

11
задан Tom Quarendon 24 November 2010 в 10:43
поделиться