C++ Загрузить DLL из подкаталога?C++

Программы на C++. Форум разработчиков
Anonymous
 C++ Загрузить DLL из подкаталога?

Сообщение Anonymous »

Я новичок в «скрытых/темных местах» C++, и мне интересно, как загрузить файл .dll из другого каталога или подкаталога внутри того, где запущен мой текущий исполняемый файл

Пример:

Код: Выделить всё

./MyAppDirectory
/MyApp.exe
/SomeDLL.dll
/AnotherDLL.dll
/SubDirectory
/SomeDLL2.dll
/AnotherDLL2.dll
/YetAnotherDLL.dll
/...
Итак, «MyApp.exe» автоматически загружает «SomeDLL.dll» и «AnotherDLL.dll» из корневой папки «MyAppDirectory», однако я также хочу иметь возможность загружать «SomeDLL2.dll», «AnotherDLL2.dll», «YetAnotherDLL.dll» и т. д. из папки «SubDirectory» внутри папки «MyAppDirectory».

Я делал несколько поисков и нашел единственные решения:


[*]1) Измените рабочий каталог исполняемого файла.
2) Поместите файлы DLL в корень Windows.
[*]3) Измените переменную среды PATH.


Но у всех из них есть плохие стороны (здесь не стоит упоминать), и это не то, что мне действительно нужно. Также еще одно решение — «Пути для конкретных приложений!» который включает в себя работу с реестром Windows и кажется немного лучше, чем те, которые упоминались ранее.

Однако мне нужно иметь возможность делать это внутри «MyApp.exe» с использованием C++. без необходимости использовать внешние методы.

Я использую MinGW 4.7.2, а моя IDE — Code::Blocks 12.11, а также моя ОС — Windows XP SP3 Pro x86.

Любые ссылки, руководства, документация, примеры и т. д. принимаются и благодарим вас за потраченное время :D

Подробнее здесь: https://stackoverflow.com/questions/174 ... bdirectory

Вернуться в «C++»