0

很多天前我做了一项服务(WinServiceProject),我希望它自动启动,但有一个延迟时间......我找到了一个解决方案,但这不能帮助我:http: //support.microsoft.com/kb/193888/en -我们

我在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinServiceProject 修改了注册表,但这不起作用。

我添加了多字符串值(DependOnService)并在之前设置了许多服务......这可行但不喜欢我想要的。

随着时间的推移,我需要它的解决方案,设置很多时间并在此时间之后执行服务。如果我需要向我的服务添加代码,我会这样做。

谢谢。

4

1 回答 1

0

我用这段代码解决了问题!!

公共静态无效重启服务(字符串服务名称,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
        {
            // ...
        }

    }
于 2014-02-28T00:05:29.483 回答