У меня есть приложение, которое использует LoadLibrary в Windows для динамической загрузки подключаемых модулей. Однако некоторые плагины имеют другие зависимые библиотеки DLL, например библиотеки DLL клиента базы данных.
У меня есть приложение, которое использует LoadLibrary в Windows для динамической загрузки подключаемых модулей. Однако некоторые плагины имеют другие зависимые библиотеки DLL, например библиотеки DLL клиента базы данных.
У меня есть приложение, которое использует LoadLibrary в Windows для динамической загрузки подключаемых модулей. Однако некоторые плагины имеют другие зависимые библиотеки DLL, например библиотеки DLL клиента базы данных. Когда вы пытаетесь загрузить такую DLL, а одна из зависимых DLL не существует, вы получаете неприятное диалоговое окно Windows:
«Программа не может запуститься, потому что xxx.ddl отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы исправьте эту проблему. "
Есть ли простой способ избежать этого диалога? Я надеялся, что можно использовать LoadLibraryEx и передать флаг, который говорит: «Не показывай мне этот надоедливый диалог», но это не похоже.
Я бы хотел, чтобы приложение обработало эту ошибку, вместо того, чтобы Windows обрабатывать это для меня, тем более что текст сообщения неверен (проблема не в том, что программа не запускается, программа работает вполне нормально, она просто не может загрузить этот плагин).
Что я' Я бы хотел избежать необходимости переписывать плагины, у которых есть эти внешние зависимости, чтобы они сами выполняли динамическую загрузку любых зависимых модулей, а затем запрашивали любые точки входа.
В любом случае, любые предложения будут с благодарностью приняты.