如何在Windows快速启动时从服务程序执行功能

时间:2017-05-05 06:34:43

标签: c# c++ windows windows-services

如何在Windows 10 Fast Startup中从服务程序执行功能。这是我的场景:

我有Windows服务程序在Windows启动期间启动一些exe / function。

除了Windows 10快速启动之外,它在其他Windows版本中运行良好。

我在ServiceMain函数中使用过SERVICE_CONTROL_STOP,SERVICE_CONTROL_SHUTDOWN,SERVICE_CONTROL_PAUSE和SERVICE_CONTROL_CONTINUE,但在快速启动期间没有调用ServiceMain。

如果我手动启动/停止/暂停/继续服务,它的工作。

有没有办法用Windows快速启动服务处理程序创建/启动服务?

1 个答案:

答案 0 :(得分:0)

对于快速启动,Windows在您关闭时会终止用户会话并休眠会话0(其中包含内核,驱动程序,服务等),并在快速启动后继续运行。因此,该服务无法检测到关闭,因为它从未被关闭过。停止或暂停。除非您注册一些通知或处理会话更改。

因此,您可以处理 SERVICE_ACCEPT_SESSIONCHANGE 控制代码以执行所需的操作。

简而言之,选中此link