我想知道是否有任何可能的方式来获取或创build一个Windows服务的状态更改的事件。
我知道ServiceController
类没有事件,但它具有状态。 有什么方法可以听一个事件吗?
这正是NotifyServiceStatusChange
函数的目的。 文件说:
启用应用程序以在创建或删除指定的服务或其状态更改时接收通知。
我不确定是否有托管代码中包含的等效事件,但是这个很容易使用P / Invoke。
但是请注意,此功能仅在Windows Vista及更高版本中可用。 如果您需要定位早期版本,则可以在此问题的答案中找到解决方案。