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