我有一个 C++ Windows 服务,它在启动时启动一个 TCP 服务器。 问题是,当用户登录/注销时,服务不再响应客户端请求,从休眠状态返回时也是如此。因此,我需要获得有关电源模式的通知,以便我以正确的方式暂停/恢复服务器。
我试过 ServiceBase.OnPowerEvent()
但 visual studio 说它是未定义的。此方法仅适用于 C# 吗?在 C++ 中有对应物吗?
值得一提的是,我使用的服务模板是从网上教程下载的,不是VS自带的默认模板。
最佳答案
ServiceBase.OnPowerEvent 用于基于ServiceBase 的.Net 服务。它是 SERVICE_CONTROL_POWEREVENT 的包装。还通过 SERVICE_CONTROL_SESSIONCHANGE 通知服务登录和注销事件。
有关通知代码的列表,请检查 HandlerEx callback function
关于c++ - 如何让 C++ Windows 服务在用户登录/注销或 PC 进入休眠/休眠状态时得到正确通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23969780/