Вызов внешней команды в сервисе

Я использую функцию Shellapi shellexecute() для вызова внешней команды в Delphi. Когда я использую его в сервисном приложении, эта функция не работает. он возвращает 42, winexec() также не работает в службе. Я знаю, что СИСТЕМА запускает команду в сервисе. что случилось? кто-нибудь поможет мне, как вызвать внешнюю команду? Благодарю. Саймон


person user3228662    schedule 27.10.2014    source источник
comment
Какой пользователь запускает службу? Это имеет большое значение, поскольку все разрешения будут основываться на пользователе, запускающем службу. Есть ли код ошибки или сообщение об ошибке?   -  person Gui    schedule 27.10.2014
comment
команду, которую я могу изменить на cmd, ее может запустить системный пользователь, верно?   -  person user3228662    schedule 27.10.2014
comment
См. раздел Как вызвать другое приложение из службы Delphi?.   -  person LU RD    schedule 27.10.2014
comment
Не используйте ShellExecute. Он не может правильно сообщать об ошибках. ShellExecuteEx может. Тем не менее, если CreateProcess можно использовать, его следует предпочесть.   -  person David Heffernan    schedule 27.10.2014
comment
Можно ли использовать ShellExecuteEX в службе?   -  person user3228662    schedule 02.11.2014