读书人

关闭控制台系统有个超时机制怎么延

发布时间: 2012-08-16 12:02:15 作者: rapoo

关闭控制台,系统有个超时机制,如何延长这个时间以保存数据?多谢!
关闭控制台时,系统发出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
[解决办法]
截获消息时最好的方法,等数据全部保存后再处理消息。。

读书人网 >VC/MFC

热点推荐