Como posso atrasar meu serviço criado no Windows Server 2003 e no Windows XP?
-
21-12-2019 - |
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.
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
{
// ...
}
}