如何在用户登录/注销或PC进入睡眠/休眠状态时正确通知C ++ Windows服务

时间:2014-05-31 11:55:46

标签: c++ windows service

我有一个C ++ Windows服务,它在启动时启动TCP服务器。 问题是,当用户登录/注销服务时,不再响应客户端请求,也是从休眠状态返回时。因此,我需要获得有关电源模式的通知,以便以正确的方式暂停/恢复服务器。

我试过了ServiceBase.OnPowerEvent(),但是visual studio说这是未定义的。这个方法只适用于C#吗?在C ++中是否有对应物?

值得一提的是,我使用的服务模板是从在线教程下载的,而不是VS附带的默认模板。

1 个答案:

答案 0 :(得分:0)

ServiceBase.OnPowerEvent用于基于ServiceBase的.Net服务。它是SERVICE_CONTROL_POWEREVENT的包装器。服务也通过SERVICE_CONTROL_SESSIONCHANGE通知登录和注销事件。

要获取通知代码列表,请检查HandlerEx callback function