首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关闭控制台,系统有个超时机制,怎么延长这个时间以保存数据?谢谢

2012-08-16 
关闭控制台,系统有个超时机制,如何延长这个时间以保存数据?多谢!关闭控制台时,系统发出CTRL_CLOSE_EVENT事

关闭控制台,系统有个超时机制,如何延长这个时间以保存数据?多谢!
关闭控制台时,系统发出CTRL_CLOSE_EVENT事件,这个事件有5秒超时机制,保存数据5秒不够用,如何延长这个时间以保存数据?多谢!

5秒后系统就弹出“立即结束对话框”;

在main中用SetConsoleCtrlHandler注册一个回调函数:

C/C++ code
 SetConsoleCtrlHandler(HandlerRoutine,TRUE);

在回调函数中,对关闭事件进行处理:
C/C++ code
BOOL WINAPI HandlerRoutine( DWORD dwCtrlType){    if (dwCtrlType==CTRL_CLOSE_EVENT)    {        saveData();    }    return TRUE;}



[解决办法]
你直接截获关闭消息,执行完你的保存数据
再响应关闭啊
[解决办法]
由于控制台窗口不由你的进程管,你不能SetWindowLong修改WindowProc,不过你可以创建一个窗口,把这个窗口作为控制台窗口的父窗口
[解决办法]
HKEY_CURRENT_USER\Control Panel\Desktop
WaitToKillAppTimeout
[解决办法]
截获消息时最好的方法,等数据全部保存后再处理消息。。

热点排行