首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在控制台应用程序的WinAPI中处理窗口关闭事件的最简单方法是什么?

在控制台应用程序的WinAPI中处理窗口关闭事件的最简单方法是什么?
EN

Stack Overflow用户
提问于 2013-10-17 22:09:54
回答 2查看 4.7K关注 0票数 3

我正在用c++编写一个使用WinAPI的控制台多进程应用程序。所以我有调度员。“家长”)和客户(如:(“儿童”)进程。这两个进程都是同步的:它们使用信号量、事件、互斥和管道(它们都是标准的WinAPI句柄)。当用户键入"exit"命令时应用程序停止。如果用户这样做,dispatcher进程会通知它的子进程,然后子进程释放它的资源,并在退出之前进行另一个正确退出的过程。但是有件事困扰着我:如果用户按下窗口“关闭”按钮会发生什么?如果是这样的话,我应该听关闭事件,然后执行我的资源释放过程。处理关闭窗口事件的最简单方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-17 22:29:33

编写一个控制台处理程序来检测CTRL_CLOSE_EVENT (如果需要的话还有CTRL_C_EVENT ),并使用SetConsoleCtrlHandler将处理程序例程添加到您的流程中。

票数 3
EN

Stack Overflow用户

发布于 2013-10-17 22:39:25

它与客户端进程崩溃或通过任务管理器终止并没有什么区别。你也应该对此有弹性。您在父进程中获得的最终信号是客户端的进程句柄将被发送信号。

使用WaitForMultipleObjects以及其他句柄来检测这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19438194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档