C# 如何确定Windows服务是手动启动还是由操作系统启动?
我有一个手动启动的Windows服务 服务中还有一个重新启动时间,使其能够自行重新启动。为此,我通过给操作系统一个C# 如何确定Windows服务是手动启动还是由操作系统启动?,c#,service,windows-services,C#,Service,Windows Services,我有一个手动启动的Windows服务 服务中还有一个重新启动时间,使其能够自行重新启动。为此,我通过给操作系统一个>0编号退出,并在服务->恢复选项卡中,设置服务在第一次、第二次和后续故障时重新启动 Environment.Exit(1) 但如何确定该服务是手动启动还是由操作系统启动?您可以从注册表获取该服务: HKLM\System\CurrentControlSet\Services\YourServiceName 注册表项:Start(注册表项) 价值观: 1->系统 2->自动 3-
>0
编号退出,并在服务->恢复选项卡中,设置服务在第一次、第二次和后续故障时重新启动
Environment.Exit(1)
但如何确定该服务是手动启动还是由操作系统启动?您可以从
注册表获取该服务:
HKLM\System\CurrentControlSet\Services\YourServiceName
注册表项:Start
(注册表项)
价值观:
1->系统
2->自动
3->手动
4->禁用
你也可以
new ServiceController("YourServiceName")
然后做一些p/Invokefun:这个注册表值会改变吗?我认为它反映了服务是如何设置的,这是一个奇怪的问题。如果服务总是手动启动,那么您当然知道它不是自动启动的。恢复密钥完全无效。