如何响应Windows服务的状态更改?

时间:2011-04-21 12:07:11

标签: c# .net windows windows-services servicecontroller

我想知道是否有任何可能的方法来获取或创建Windows服务状态已更改的事件。

我知道ServiceController类没有事件,但它具有状态。有什么方法可以听一个事件吗?

1 个答案:

答案 0 :(得分:4)

这正是NotifyServiceStatusChange function的目的。文档说它:

  

允许应用程序在创建或删除指定服务或其状态更改时接收通知。

我不确定托管代码中是否包含等效事件,但这个事件很容易使用P / Invoke。

但请注意,此功能仅适用于Windows Vista及更高版本。如果您需要定位早期版本,可以在this question的答案中找到解决方案。