Фон
Мое решение состоит из двух проектов:
- Стандартное приложение Windows
- DLL, которую мое приложение не использует напрямую, а вставляет ее в целевой процесс
По сути, с точки зрения моего приложения, единственное требование, которому должна соответствовать DLL, - это наличие в рабочем каталоге моего приложения. Короче говоря, моя DLL не экспортирует функции, представляющие интерес для моего приложения.
Вопрос
Я хотел бы сильно соединить эти два двоичных файла. Какие у меня есть варианты, кроме ручного вызова LoadLibrary
в моем приложении?
Если это слишком расплывчато, пожалуйста, дайте мне знать.
Редактировать
Поскольку, похоже, никто не "отвечает", я закончил тем, что сделал EFraim
(см. Комментарии).
Я экспортировал фиктивную функцию из моей DLL и добавил сгенерированный файл DLL *.lib
в качестве дополнительной зависимости в лист свойств компоновщика моего приложения. Теперь, во время выполнения, если DLL отсутствует, Windows выдает красивое сообщение об ошибке и прекращает выполнение. В качестве дополнительного бонуса образ DLL также блокируется после успешной инициализации IAT; это предотвращает такие вещи, как удаление пользователя.