Pergunta

Fiz um serviço (WinServiceProject) há muitos dias e quero que este inicie automaticamente mas com um Tempo Atrasado...Encontrei uma solução, mas isso não pode me ajudar: http://support.microsoft.com/kb/193888/en-us

Eu modifico o regedit em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinServiceProject mas isso não funciona.

Eu adiciono Multi-String Value (DependOnService) e defino muitos serviços antes...isso funciona, mas não gosto do que eu quero.

A solução que preciso é com tempo, definir vários horários e executar o serviço após esse horário.Se eu precisar adicionar código ao meu serviço, farei isso.

Obrigado.

Foi útil?

Solução

Eu resolvo o problema com esse código!!

public static void RestartService(string serviceName, int timeoutMilliseconds)

    {

        ServiceController service = new ServiceController(serviceName);

        try
        {
            int millisec1 = Environment.TickCount;
            TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

            service.Stop();
            service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);

            // count the rest of the timeout
            //int millisec2 = Environment.TickCount;
            timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds - millisec1);

            service.Start();
            service.WaitForStatus(ServiceControllerStatus.Running, timeout);
        }

        catch
        {
            // ...
        }

    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top