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

标签 c++ windows service

我有一个 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/

相关文章:

windows - 如何将 firebird 作为应用程序运行?

c++ - 函数参数和默认参数的评估顺序

c++ - 控制台宽度;承担违约或成为……?

c++ - 如何在MFC2010中解码动画gif文件

c++ - 无法使用 RSA-Sha256 签名。 WatchData CSP 是否不是 CNG(加密 API : Next Generation) Provider?

c - ProcessID困惑

node.js - Node 、要求、单例还是非单例?

tomcat - 为什么我们在应用程序/服务中需要关闭端口和启动端口?

android - BroadcastReceiver - onReceive 未被调用

c++ - CMake:find_package 中的项目如何破坏程序?