Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
等待服务启动/停止 我使用C++中的服务控制器来管理Windows服务。_C++_Windows Services - Fatal编程技术网

等待服务启动/停止 我使用C++中的服务控制器来管理Windows服务。

等待服务启动/停止 我使用C++中的服务控制器来管理Windows服务。,c++,windows-services,C++,Windows Services,我可以使用StartService()和ControlService()函数来启动和停止服务 但是,是否有标准的方法来等待服务实际启动和停止 显然,我可以循环调用QueryServiceStatusEx(),并分别等待状态为正在运行或已停止 有没有更整洁的方法达到同样的效果 谢谢。Afaik服务启动和停止创建windows事件日志事件。也许您可以为这些安装一个处理程序,然后等待来自应用程序的事件。如果您的应用程序也是服务,请将其标记为依赖于第三方服务,那么您不必等待它。在C#中,您可以使用。你可

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

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

显然,我可以循环调用
QueryServiceStatusEx()
,并分别等待状态为
正在运行
已停止

有没有更整洁的方法达到同样的效果


谢谢。

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

在C#中,您可以使用。你可以这样做(一行代码),并将C++代码包在C++代码中。p>
否则,您可能会使用WMI()或事件日志进行进一步操作。

您是否可以控制此其他服务?是的,我可以启动并停止此服务。但是我需要一种方法来等待服务停止,这样我就可以在再次启动之前编辑配置文件。我的意思是,你有权访问它的源代码吗。如果是这样的话,你可以创建一个事件并等待。啊,不,对不起,这是第三方服务。但是,该事件不是只存在于服务中吗?或者有可能有全局可访问的事件吗?我一直使用轮询。您可以使用
NotifyServiceStatusChange
,但这看起来很糟糕。