【发布时间】:2011-04-21 12:07:10
【问题描述】:
我想知道是否有任何可能的方法来获取或创建 Windows 服务状态更改的事件。
我知道ServiceController 类没有事件,但它有状态。有什么方法可以让我收听事件吗?
【问题讨论】:
标签: c# .net windows windows-services servicecontroller
我想知道是否有任何可能的方法来获取或创建 Windows 服务状态更改的事件。
我知道ServiceController 类没有事件,但它有状态。有什么方法可以让我收听事件吗?
【问题讨论】:
标签: c# .net windows windows-services servicecontroller
这正是NotifyServiceStatusChange function 的用途。文档说:
使应用程序能够在创建或删除指定服务或其状态更改时接收通知。
我不确定托管代码中是否包含等效事件,但使用 P/Invoke 很容易掌握这一事件。
但请注意,此功能仅在 Windows Vista 及更高版本中可用。如果您需要针对早期版本,您可以在this question 的答案之一中找到解决方案。
【讨论】: