c - 还有其他类型的控制台事件吗?
问题描述
我知道C WIN32
有这些控制台事件:
CTRL_C_EVENT
- 当用户按下 CTRL+C 或由 GenerateConsoleCtrlEvent API 发送时发生。CTRL_BREAK_EVENT
- 当用户按下 CTRL+BREAK 或由 GenerateConsoleCtrlEvent API 发送时发生。CTRL_CLOSE_EVENT
- 当试图关闭控制台时发生,当系统向与给定控制台关联的所有进程发送关闭信号时。CTRL_LOGOFF_EVENT
- 在用户注销时发生。但是,无法确定哪个用户正在注销。CTRL_SHUTDOWN_EVENT
- 在系统关闭时发生,通常发送到服务。
还有其他类型的console-events
吗?
我需要向console-event
曾经管理过的服务器发送一个,导致服务器重新读取配置文件。该事件CTRL + C
用于关闭服务器。
为此,我使用了该CTRL + BREAK
事件,但不幸的是我仍然不明白为什么,它给我 wsaDuplicateSocket 函数带来了问题(错误 10024)。
解决方案
现在的答案是否定的,consoleapi.h 头文件中有一些定义:
#define CTRL_C_EVENT 0
#define CTRL_BREAK_EVENT 1
#define CTRL_CLOSE_EVENT 2
// 3 is reserved!
// 4 is reserved!
#define CTRL_LOGOFF_EVENT 5
#define CTRL_SHUTDOWN_EVENT 6
而已。
推荐阅读
- ios - Image.file() 显式创建指定文件时显示空白
- android - Android:无法连接到 192.168.1.103:5555:无法连接,因为目标机器主动拒绝。(10061)
- javascript - 使用调试代码镜头以模板字符串作为测试名称运行 jest 测试
- pip - 安装 pyarrow 时出现错误“错误:命令错误,退出状态为 1:”
- sql - SQL 修改列名大小写更改
- r - 估算时间序列缺失值的建议
- javascript - 如何在 OMDB Api 中搜索包含搜索词的标题?
- or-tools - CP-Sat 的 OR-Tools 优化
- flutter - Flutter 注册通过 aws amplify 中的电话 otp 确认
- sql-server - 在 Sql Server 中交叉应用 vs CTE