c - 还有其他类型的控制台事件吗?

标签 c winapi events console

我知道在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 - 系统关闭时发生,并且 通常发送到服务。

还有其他类型的控制台事件吗?
我需要向服务器发送一个控制台事件,该服务器一旦被管理,就会导致服务器重新读取配置文件。事件 CTRL + C 用于关闭服务器。

To do this I used the CTRL + BREAK event, but unfortunately I still could not understand why, it gives me problems with the wsaDuplicateSocket function (error 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

仅此而已。

关于c - 还有其他类型的控制台事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54379032/

相关文章:

c# - 我怎样才能弄清楚刚刚运行的代码是什么?

c# - 与多个事件发布者和多线程关联的单个 .NET 事件订阅者

c - 如何将消息添加到 ID 大于 0x20000000(位 29 设置)的消息表中?

c - 释放时出现三重指针错误

.net - 将窗口置于无焦点的前面

c# - 如何将 DataGridViewComboBoxColumn 绑定(bind)到 OnChange 事件 (C#)

c - 如何使用 scanf() 在 C 中接受 char *

c - C编程的良好礼仪

c# - CreateProcessWithTokenW - C# 中的用法示例

c++ - 我可以删除在另一个进程中创建的 HBITMAP 对象吗?