【发布时间】:2011-06-09 13:02:04
【问题描述】:
我正在使用 C++ 中的服务控制器来管理 Windows 服务。
我可以使用StartService( ) 和ControlService( ) 函数来启动和停止服务。
但是,是否有标准的方法来等待服务实际启动和停止?
我显然可以循环调用QueryServiceStatusEx( ) 并等待状态分别为Running 或Stopped。
有没有更简洁的方法来实现同样的目标?
谢谢。
【问题讨论】:
-
您可以控制其他服务吗?
-
是的,我可以启动和停止服务。但是我需要一种方法来等到服务停止,以便我可以在重新启动之前编辑配置文件。
-
我的意思是你可以访问它的源代码。如果是这样,您可以创建一个事件并等待。
-
啊,不抱歉,这是第 3 方服务。但是那个事件不是只存在于服务中吗?或者是否有可能拥有全球可访问的事件?
-
我一直使用轮询来完成。你可以使用
NotifyServiceStatusChange,但这看起来很糟糕。
标签: c++ windows-services