获取Windows服务的禁用状态

时间:2009-12-21 11:36:19

标签: c# windows-services

我编写了一个Windows服务,并将其启动类型设置为“自动”。但在安装服务后,用户可以将其类型更改为“已禁用”。

有没有办法在服务安装后识别此服务的状态?我可以阻止用户更改启动类型,使其始终为“自动”吗?

由于

3 个答案:

答案 0 :(得分:2)

没有用于执行此操作的API,但您可以在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ ServiceName \ Start中检查注册表中的服务启动模式。该值将为2(自动),3(手动)或4(禁用)。

答案 1 :(得分:0)

除非您拥有操作系统权限,否则您无法阻止用户禁用它,除非您将成为该框的唯一管理员,否则您将无法进行此类控制。

您可以使用第三方监控工具(例如Nagios)监控所有服务器上的服务,并在停止运行时提醒您。这还有其他好处,因为它还允许您监视许多其他事情,例如MSMQ队列长度,磁盘空间和内存使用情况(实际上是性能计数器中的任何内容)。

答案 2 :(得分:0)