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

请教控制台程序在点CMD窗口的叉关闭时做了什么事?求指点

2012-03-11 
请问控制台程序在点CMD窗口的叉关闭时做了什么事?急求指点!RT:比如下面的程序,我如何在点叉结束时,调用pos

请问控制台程序在点CMD窗口的叉关闭时做了什么事?急求指点!
RT:
比如下面的程序,我如何在点叉结束时,调用postProc函数:
int   postProc()
{
      printf( "结束\n ");
      return   0;
}

int   main()
{
      for(;;)
      {
            printf( "进行中\n ");
            Sleep(1);
           
        }
        return   0;
}


[解决办法]

#include <stdio.h>

#include <windows.h>

BOOL WINAPI HandlerRoutine(DWORD dwCtrlType)
{
  if(dwCtrlType==CTRL_C_EVENT)
  {
    FILE *f = fopen( "c:\\log.txt ", "a ");
    fprintf(f, "ctrl-c\n ");
    fclose(f);
  }
  if(dwCtrlType==CTRL_CLOSE_EVENT)
  {
    FILE *f = fopen( "c:\\log.txt ", "a ");
    fprintf(f, "close\n ");
    fclose(f);
  }
  return false;
}

int main()
{
  SetConsoleCtrlHandler(HandlerRoutine,true);
  int n = 0;
  while(true)
  {
    printf( "n=%d\r ",n++);
    Sleep(1000);
  }
}

(中文空格)

热点排行