如何阻止控制台程序关闭

bj_leo_2000 2011-06-08 02:06:51
控制台程序关闭是需要做一些处理,而使用SetConsoleCtrlHandler方法处理,系统本身有个5秒的超时,关闭处理没有完成就自动退出了。请问有什么方法可以让系统等待处理完成再关闭吗?
...全文
736 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
bj_leo_2000 2011-06-10
  • 打赏
  • 举报
回复
system("PAUSE");没有用还是会超时强制关闭
蓝染忽右介 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vonvnie 的回复:]
添加头文件:#include<stdlib.h>
system("PAUSE");
[/Quote]
++
Lactoferrin 2011-06-08
  • 打赏
  • 举报
回复
创建一个新的进程来做事
wh_liu 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bj_leo_2000 的回复:]
我看到有人说可以捕获退出的消息,但没有具体方法,有人知道控制台程序如何捕获系统的消息。
[/Quote]
即使捕捉到了,也只能让你处理些事,处理完还是要关闭的,很多应用都是这样设计的
一根烂笔头 2011-06-08
  • 打赏
  • 举报
回复
getchar();
system("pause")
这样权利就转让给你了!你一万年不输入,它等你一万年!
bj_leo_2000 2011-06-08
  • 打赏
  • 举报
回复
我看到有人说可以捕获退出的消息,但没有具体方法,有人知道控制台程序如何捕获系统的消息。
科比布莱恩特 2011-06-08
  • 打赏
  • 举报
回复
异常了就关闭,没办法阻止。

上面所说的方法都是正常打印的。
wh_liu 2011-06-08
  • 打赏
  • 举报
回复
有些是没办法阻止的,系统可能提供了一些接口,让你在窗口里做一些处理,处理完还是要关闭。
bj_leo_2000 2011-06-08
  • 打赏
  • 举报
回复
系统对控制台程序本身就有超时机制,无论你是否停止,超时后就会强制关闭。
恨天低 2011-06-08
  • 打赏
  • 举报
回复

cin.get();
binggou8993 2011-06-08
  • 打赏
  • 举报
回复
等待用户输入
cin>>i;
getchar();
yfk 2011-06-08
  • 打赏
  • 举报
回复
getchar
输入才关闭
Vonvnie 2011-06-08
  • 打赏
  • 举报
回复
添加头文件:#include<stdlib.h>
system("PAUSE");

恨天低 2011-06-08
  • 打赏
  • 举报
回复
多线程?sleep

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧