linux/unix 下signal函数移植windows下-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977437
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类:

2007-10-10 11:43:15

/**
 linux/unix 下signal函数移植windows下
      linux下通常的做法:
              signal(sigint, sigfunc);  // 设置信号

              void sigfunc(int signo)
              {
                ... //处理信号相关的操作
              }

  以下是linux下的ctrl c在windows下的实现
  一篇非常不错的参考文献:
 */


#include <stdio.h>
#include <windows.h>

static is_loop = 1;

// 捕获控制台 ctrl c 事件的函数

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;
  }

  is_loop = 0;
  return (true);
}

int main(int argc, char *argv[])
{
    printf("set console ctrl handler\n");

    setconsolectrlhandler((phandler_routine)ctrlhandler, true);

    while (is_loop);

    return 0;
}

阅读(3725) | 评论(0) | 转发(0) |
0

上一篇:一千元的代价

下一篇:网吧里的9种奇人

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图