等待服务启动/停止

时间:2011-06-09 13:02:04

标签: c++ windows-services

我在C ++中使用服务控制器来管理Windows服务。

我可以使用StartService( )ControlService( )函数来启动和停止服务。

但是,是否存在等待服务实际启动和停止的标准方法?

我显然可以循环调用QueryServiceStatusEx( )并等待状态分别为RunningStopped

是否有更简洁的方法来实现同样的目标?

感谢。

2 个答案:

答案 0 :(得分:1)

Afaik Service启动和停止创建Windows事件日志事件。也许您可以为这些安装处理程序并等待应用程序中的事件。如果您的应用程序也是服务,请将其标记为依赖于第三方服务,那么您不必等待它。

答案 1 :(得分:0)

在C#中,您可以使用ServiceController.WaitForStatus执行此操作。你可以这样做(一行代码)并在你的C ++代码中包装C#。

否则,您可能会对WMI(Win32_Service class)或事件日志充满信心。