Я адаптирую программу для запуска в качестве службы, и первое, что она делает, это открывает локальный файл конфигурации, но его не существует, потому что я не знаю, какой текущий каталог.
Текущий рабочий каталог - это местоположение исполняемого файла службы, если только он не изменен с помощью вызова Win32 API
Вызов GetCurrentDirectory в точке входа службы возвращает «C: \ WINDOWS \ system32». После установки его в каталог исполняемого файла с SetCurrentDirectory все заработало как положено.
GetCurrentDirectory
SetCurrentDirectory