诡异的有关问题:xxxxxxx中的 0x74e16b2f 处最可能的错误: 0x40010005: Control-C

诡异的问题:xxxxxxx中的 0x74e16b2f 处最可能的异常: 0x40010005: Control-C
本帖最后由 andrew2222 于 2013-04-19 12:01:33 编辑
今天在debug程序过程中意外发现,若对程序console窗口不断最小化还原然后最小化还原。。。(即点击任务栏上的console),程序立马就会崩溃,出现错误:

xxxxxxx中的 0x74e16b2f 处最可能的异常: 0x40010005: Control-C

我测试了一下,任何程序都会出现这个错误,即使我程序内部什么也不做,就是一个while(1);循环。

我还同时测了vs2010和vs2012,32位和64位,均会出现此问题。
vs2010的出错信息即上面所示。
vs2012的出错信息如下(应该是同一错误,只是我的vs2012是英文版):
First-chance exception at 0x74E16B2F (kernel32.dll) in KSTest.exe: 0x40010005: Control-C

敢问各位大侠,这是怎么一回事?拜谢!

我的平台是win7 64位。

------解决方案--------------------
引用:
引用:SetConsoleCtrlHandler
可以阻止Ctrl+C
这个在哪里设置?


#include <stdio.h>
#include <windows.h>
BOOL CtrlHandler( DWORD fdwCtrlType )
{
    switch (fdwCtrlType)
    {
    /* Handle the CTRL-C signal. */
    case CTRL_C_EVENT:
        printf("CTRL_C_EVENT \n");
        break;
    case CTRL_CLOSE_EVENT:
        printf("CTRL_CLOSE_EVENT \n");
        break;
    case CTRL_BREAK_EVENT:
        printf("CTRL_BREAK_EVENT \n");
        break;
    case CTRL_LOGOFF_EVENT:
        printf("CTRL_LOGOFF_EVENT \n");
        break;
    case CTRL_SHUTDOWN_EVENT:
        printf("CTRL_SHUTDOWN_EVENT \n");
        break;
    default:
        return FALSE;
    }
    return (TRUE);
}

void test()
{

SetConsoleCtrlHandler((PHANDLER_ROUTINE)CtrlHandler, TRUE);