#include "stdafx.h"
#include <signal.h>
#include <windows.h>
#include <iostream>

using namespace std;

void cs(int n)
{
  if(n==SIGINT) {
    cout<<"\n你触发了黑名单"<<endl;
    signal(SIGINT, cs);
    return;
  }
  if(n==SIGBREAK){
    cout<<"\n你按下了ctrl+break,现在退出程序\n";
    exit(0);
  }
}

int main()
{
  char ch[30];
  char* str[3];
  bool flag=false;
  signal(SIGINT, cs); /*注册ctrl+c信号捕获函数*/
  signal(SIGBREAK,cs); /*注册ctrl+break信号捕获函数*/

//黑名单命令
  str[0]="cd";
  str[1]="ls";
  str[2]="dir";
  

  while(1)

    if(flag!=true){

      cin>>ch;

      for(int i=0;i<sizeof(str)/sizeof(str[0]);i++){
        if(strcmp(ch,str[i])==0){

           //组合按键
           keybd_event(VK_CONTROL,0,0,0);   //按下control键
           keybd_event(67,0,0,0);                  //按下C键
           keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
           keybd_event(67,0,KEYEVENTF_KEYUP,0);
          flag=true;
        }
      }
    }
  }

return 0;
}

简单的触发黑名单阻断演示 control+c的更多相关文章

  1. 最简单的视音频播放演示样例8:DirectSound播放PCM

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  2. 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  3. 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  4. JAVA简单Swing图形界面应用演示样例

    JAVA简单Swing图形界面应用演示样例 package org.rui.hello; import javax.swing.JFrame; /** * 简单的swing窗体 * @author l ...

  5. 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  6. 最简单的视音频播放演示样例7:SDL2播放RGB/YUV

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  7. 简单的jQuery hide()方法演示

    <!DOCTYPE html><html><head><meta charset="utf-8"> <title>jQu ...

  8. 简单的策略模式Strategy演示

    策略模式,即规则在变化之中,结果终归为一. 公司给员工计算工资,如有加班费,差旅费,每个月的生活补帖等等其它费用需要计算.这个费的规则是不尽相同. 不管策略的规则怎样,终归需要计算出一个结果 工资: ...

  9. Nginx 简单的负载均衡配置演示样例

    近期在做开放查询应用的时候,因为数据两天特别多,两千多万条呢,用户訪问需求也比較大,所以就用nginx做了 负载均衡,以下是改动之后的相关内容. http://www.cnblogs.com/xiao ...

随机推荐

  1. 集成Facebook SDK

    1. 下载SDK https://developers.facebook.com/docs/ios?locale=zh_CN 2. 如何集成 https://developers.facebook.c ...

  2. Avoid RegionServer Hotspotting Despite Sequential Keys

    n HBase world, RegionServer hotspotting is a common problem.  We can describe this problem with a si ...

  3. Qt 自定义PushButton

    http://blog.csdn.net/zddblog/article/details/11116191 功能:鼠标弹起并在按键区域内时,按键响应.并实现normal.hover.pressed效果 ...

  4. struts学习(3)

    1 ognl概述 2 ognl入门案例 3 什么是值栈 (1)servlet和action区别 (2)值栈存储位置 4 如何获取值栈对象 5 值栈内部结构 6 向值栈放数据 (1)s:debug标签 ...

  5. cmscp实例笔记

    1.迭代循环 [@NodeList;list] [#list list as node] [#if node.name == "产品试用"] [/#if] [#if node.na ...

  6. Jedis的八种调用方式(功能:事务,管道)

        1. packagecom.irwin.redis;     2.       3. importjava.util.Arrays;     4. importjava.util.List; ...

  7. Jedis分片连接池

    [http://blog.csdn.net/lang_man_xing/article/details/38405269]   一下内容来自网络,但是很多细节没有写出来,所以我经过自己琢磨,终于找到原 ...

  8. java: InputStreamReader将字节的输入流变成字符的输入流,OutputStreamWriter将字符的输出流变成字节的输出流

    InputStreamReader:将字节的输入流变成字符的输入流, OutputStreamWriter:将字符的输出流变成字节的输出流 //将缓冲区的内容读取,可以一次读取 //可以接收键盘的输入 ...

  9. 关于wm8740数据手册的严重错误

    之前的一个项目使用了双wm8741的差动解码器,后来更换为双wm8740.由于8740不支持I2C通信,软控也就由I2C改为了SPI. 由于是双wm8740,需要一片负责左声道,一片负责右声道.因此要 ...

  10. web端测试小知识

    1.测试web端会看请求.数据.定位问题 在浏览器中按F12按钮,然后继续操作 一个操作有时请求很多个接口,点击“preview”,查看返回的数据 ========================== ...