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