zoukankan      html  css  js  c++  java
  • 简单的触发黑名单阻断演示 control+c

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

    using namespace std;

    void cs(int n)
    {
      if(n==SIGINT) {
        cout<<" 你触发了黑名单"<<endl;
        signal(SIGINT, cs);
        return;
      }
      if(n==SIGBREAK){
        cout<<" 你按下了ctrl+break,现在退出程序 ";
        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;
    }

  • 相关阅读:
    python基础之====函数对象、函数嵌套、名称空间与作用域、装饰器
    python基础之函数基础
    pytho基础之文件处理
    python基础之字符编码
    python基础之数据类型与变量
    python基础之核心风格
    函数
    数据类型、字符编码、文件处理
    MongoDB
    Shell学习(三)——Shell条件控制和循环语句
  • 原文地址:https://www.cnblogs.com/duyy/p/3662326.html
Copyright © 2011-2022 走看看