Здравствуйте, VintVV, Вы писали:
VVV>Здравствуйте.
VVV>Пишу прогу для работы со службами (включение, выключение и т.д.). Возникла такая проблема:
VVV>в Висте есть службы которые остановить нельзя (служба "Планировщик заданий"), но при определении
VVV>статуса службы посредством вызова QueryServiceStatus, смотрю в dwControlsAccepted, а там есть
VVV>флаг SERVICE_ACCEPT_STOP, что, как я понимаю, говорит о возможности остановки. При попытке остановить
VVV>данную службу ничего не происходит, т.е. она попрежнему остается включенной.
VVV>Но в стандартной оснастке Windows Service вижу, что возможность остановки заблокирована.
VVV>Может быть есть еще какие-то флаги, которые говорят что служба не может быть отключена?
VVV>В XP у меня все показывается точно как в стандартном Windows Service.
VVV>Проверяю флаги так:
VVV>VVV> FCanStop := ((dwControlsAccepted and SERVICE_ACCEPT_STOP) = SERVICE_ACCEPT_STOP);
VVV> FCanPauseContinue := ((dwControlsAccepted and SERVICE_ACCEPT_PAUSE_CONTINUE) = SERVICE_ACCEPT_PAUSE_CONTINUE);
VVV>
SERVICE_ACCEPT_STOP говорит о том что сервис предоставляет такую возможность в принципе, но возможно не вам. Нужно смотретьв security descriptor сервиса, у вас может отсутствовать право SERVICE_STOP