等待服务启动/停止

Wait for Service to Start/Stop

本文关键字:停止 启动 服务 等待      更新时间:2023-10-16

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

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

然而,是否有标准的方法来等待服务真正启动和停止?

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

有没有一种更整洁的方式来实现同样的目标?

谢谢。

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

在C#中,您可以使用ServiceController.WaitForStatus来完成此操作。您可以通过这种方式(一行代码)完成此操作,并将C#封装在C++代码中。

否则,您可能会使用WMI(Win32_Service类)或事件日志。