Отключить всплывающее окно системной ошибки во время выполнения (зависимости DLL) - PullRequest
0 голосов
/ 09 ноября 2018

Я работаю над проектом WINAPI, который имеет несколько зависимостей .dll. Просто для пояснения, см. Ниже:

MyApplication.exe
Util.dll
MySpecialValuable.dll

Допустим, я убрал MySpecialValuable.dll из пути к папке; Я получу сообщение как это: У меня вопрос, есть ли способ полностью отключить всплывающее окно - тихо выйти? Или как-то скрыть имя .dll внутри всплывающего окна? Для большинства это может показаться бессмысленным, но я не хочу показывать библиотеки, которые я использую.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Вы не можете "тихо выйти" . Процесс не начал выполнение пользовательского кода, когда диалоговое окно отображается системой. Импорт разрешается загрузчиком до выполнения пользовательского кода.

Хотя может быть способами настройки системы для предотвращения диалога об ошибках (о котором я не знаю), у вас есть другие варианты:

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

0 голосов
/ 09 ноября 2018

Если вы не связываетесь с .dll с помощью библиотеки импорта, но загружаете ее во время выполнения с помощью LoadLibrary(), вы можете молча потерпеть неудачу.

...