首页 > 解决方案 > winapi中哪个函数检查按钮是否正在关闭控制台?

问题描述

如果按下按钮关闭控制台,我希望显示消息 winapi 中的哪个函数检查按钮是否正在关闭控制台?

标签: c++functionwinapibuttonconsole

解决方案


在 Windows 上,控制台应用程序可用于SetConsoleCtrlHandler()捕获CTRL_CLOSE_EVENT通知:

当用户关闭控制台(通过单击控制台窗口的窗口菜单上的关闭,或单击任务管理器中的结束任务按钮命令)时,系统向连接到控制台的所有进程发送的信号

例如:

BOOL WINAPI MyHandlerRoutine(DWORD dwCtrlType)
{
    if (dwCtrlType == CTRL_CLOSE_EVENT)
    {
       //...
    }
    return FALSE;
}

int main()
{
    SetConsoleCtrlHandler(&MyHandlerRoutine, TRUE);
    //...
    SetConsoleCtrlHandler(&MyHandlerRoutine, FALSE);
    return 0;
}

推荐阅读