начать обслуживание без вызова UAC - PullRequest
4 голосов
/ 12 мая 2009

Я заметил, что некоторые приложения (например, steam) могут запускать / останавливать службы как обычный пользователь, не обращаясь к элементу управления uac. Кто-нибудь знает, как это сделать?

ОС: Vista / Win 7 Visual Studio 2005 C ++

.

Редактировать: прошлой ночью я играл с паровой службой, пытаясь понять, чем она отличается. Если я положил свой exe-сервис туда, где steam, то он запустил его без uac (используя sc.exe), но если я использовал steam exe, где мой, это не сработало. Просматривая в реестре информацию о сервисе, я обнаружил, что у steam есть дополнительная часть разрешений. Что это значит и как его установить?

.

Редактировать 2: Вам необходимо изменить права доступа пользователя к услуге: http://msdn.microsoft.com/en-us/library/ms684215(VS.85).aspx

1 Ответ

6 голосов
/ 12 мая 2009

Возможность запуска (или остановки) службы контролируется ACL на службе. Если вы предоставляете интерактивным пользователям право на запуск вашего сервиса, они могут запустить ваш сервис.

Все зависит от того, как вы настроили свою службу при ее установке.

Очевидно, что для запуска службы вам потребуется использовать API-интерфейсы службы Windows (OpenSCManager / OpenService / StartService).

...