关闭控制台,系统有个超时机制,怎么延长这个时间以保存数据?谢谢
关闭控制台,系统有个超时机制,如何延长这个时间以保存数据?多谢!
关闭控制台时,系统发出CTRL_CLOSE_EVENT事件,这个事件有5秒超时机制,保存数据5秒不够用,如何延长这个时间以保存数据?多谢!
5秒后系统就弹出“立即结束对话框”;
在main中用SetConsoleCtrlHandler注册一个回调函数:
在回调函数中,对关闭事件进行处理:
------解决方案--------------------
你直接截获关闭消息,执行完你的保存数据
再响应关闭啊
------解决方案--------------------
由于控制台窗口不由你的进程管,你不能SetWindowLong修改WindowProc,不过你可以创建一个窗口,把这个窗口作为控制台窗口的父窗口
------解决方案--------------------
HKEY_CURRENT_USER\Control Panel\Desktop
WaitToKillAppTimeout
------解决方案--------------------
截获消息时最好的方法,等数据全部保存后再处理消息。。
关闭控制台时,系统发出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
------解决方案--------------------
截获消息时最好的方法,等数据全部保存后再处理消息。。