Я пишу службу Windows на C ++ (Visual Studio 2010), и эта служба должна отправлять файл на удаленный сервер через безопасную копию (для этого я использую pscp.exe).
Итак, я использую функцию system для запуска pscp.exe, и при запуске в качестве обычного приложения все работает нормально.
Но если я пытаюсь запустить как службу, служба запускает pscp.exe (я вижу это в диспетчере задач), но pscp.exe зависает и ничего не отправляет на удаленный хост. И даже если я остановлю службу, мне придется самому убить процесс pscp.
Я читал на некоторых форумах, чтобы разрешить службе «взаимодействовать с рабочим столом», но это не решило мою проблему.
Я также попытался изменить учетную запись пользователя, с которой служба входит в систему, но безрезультатно.
Любые идеи?
Кажется, что очень сложно запустить внешнюю программу из службы Windows, даже если эта внешняя программа не имеет графического интерфейса пользователя, например pscp.exe.
Спасибо!
- Аугусто Каринги