Delphi XE7服务启动异常问询:关机/重启后OnStart触发差异
问题解答
这是Windows服务的正常行为,原因如下:
- 关机再开机时,Windows 8及以后的系统(包括你使用的Win10 22H2)会对运行状态的自动启动服务启用「会话恢复」机制:系统关机前会保存服务的运行上下文,开机时直接恢复到之前的运行状态,不会触发
OnStart事件,看起来就像从停止点继续运行一样。 - 重启操作时,系统会完全重置所有服务的运行状态,不会保留任何上下文信息,所以开机时会重新触发
OnStart事件,相当于服务从头启动。 - 若服务在操作前处于停止状态,自动启动类型的服务仅在系统首次启动时自动启动;一旦被手动停止,除非配置了服务恢复选项,否则系统后续启动不会主动启动它,所以两种操作后都不会启动是符合规则的。
内容的提问来源于stack exchange,提问作者Jacek U
相关产品推荐
相关产品推荐

