Я пишу службу Microsoft на C++. Эта служба должна динамически загружать во время выполнения библиотеку .dll, находящуюся в подпапке в той же папке, что и исполняемый файл. Однако, как мне сказал кто-то, фактический рабочий каталог службы не совпадает с исполняемым каталогом, поэтому библиотека не найдена и не загружена. Как доказательство этого факта, я могу загрузить библиотеку, если я запускаю исполняемый файл службы как приложение.Загрузить .dll-библиотеку в качестве службы Microsoft
Структура папок приложения выглядит следующим образом:
FOLDER\Service.exe
FOLDER\SUBFOLDER\library.dll
Как бы вы получить доступ к нему в качестве службы?
Вы можете извлечь каталог из текущего пути к модулю. Вы можете использовать GetModuleFileName для получения пути к файлу текущего исполняемого файла – Asesh
Спасибо, Asesh, это работает. Если вы напишете это как ответ, я с радостью приму это! – phagio
Я отправил его в качестве ответа :) – Asesh