Выбор определенного файла opengl32.dll во время загрузки
В зависимости от графической карты компьютера я хочу, чтобы мое приложение выбрало существующий файл opengl32.dll (расположенный в C:\Windows\System32
), или Mesa\ программное обеспечение opengl32.dll
, Возможно ли это сделать во время загрузки или это вне моего контроля?
Если нет, то возможно ли вообще выполнить мой собственный код раньше? .dll
файлы загружаются в приложение Windows (мои решения для резервного копирования, чтобы просто переименовать программное обеспечение .dll
файл, содержащийся в той же директории, что и мой исполняемый файл)?
2 ответа
Да. Используйте задержку загрузки. Это очень простой флаг компилятора. За кулисами он сгенерирует для вас вызовы LoadLibrary и GetProcAddress.
Sinde фактическая загрузка opengl32.dll
теперь будет отложено до первого вызова функции OpenGL, у вас есть время для вызова SetDllDirectory
,