zoukankan      html  css  js  c++  java
  • 运用c++结束学校机房红蜘蛛控制软件

    注:目前只在xp和win 7 中实验成功,在win 10失败成功!。

    大多学校机房用的教学系统是红蜘蛛软件。老师在讲课时会通过这个软件控制你的电脑。退出软件的方法很简单:

    1. 更改红蜘蛛软件所在文件夹的文件名
    2. 结束红蜘蛛软件后台进程

    如果没有进行第一步,就算结束了红蜘蛛软件,也会有一个后台自动检查程序,当它发现程序终止之后,会自动打开指定文件夹下的软件,所以要先把文件夹重命名,防止再次启动。

    根据上面的步骤,首先要找到软件所在的文件夹,一般学校机房的c盘保护度最高,所以会放在C盘,在c盘某一个文件夹里有一个3000soft的文件夹,在其中就有红蜘蛛所在的文件夹Red Spider,我们所要做的就是重命名它。

    之后步骤就稍显简单,可以通过切换用户来实现结束软件后台程序,也可以直接通过任务管理器结束。

    以上是手动实现,但是写成程序之后可以一劳永逸。先看代码:

    #include<stdio.h>
    #include <fcntl.h>
    #include<windows.h>
    int main(void)
    {
        char choose;
        puts("a) 退出控制 
    b) 恢复控制");
        choose = getchar();
        char oldname[] = "c:/Program Files/3000soft/Red Spider";
        char newname[] = "c:/Program Files/3000soft/ok";
        char oldname2[] = "c:/3000soft/Red Spider";
        char newname2[] = "c:/3000soft/ok";
        char close[] = "taskkill /im REDAgent.exe /f";
        if(choose == 'a'){
            if(rename(oldname, newname) == 0){
                system(close);
                puts("success");
            }
            else if(rename(oldname2, newname2) == 0){
                system(close);
                puts("success");
            }
            else   puts("fail");
        }
        else if(choose == 'b')
        {
            if(rename(newname, oldname) == 0)   puts("success");
            else if(rename(newname2, oldname2) == 0)   puts("success");
            else   puts("fail");
        }
        else puts("input wrong!");
        getchar();
        getchar();
        return 0;
    }


    其中,我们可以在cmd命令行里运行 rename 命令来对文件夹重命名,但是在c/c++里也有一个函数用来对文件重命名,就是rename(如果想深入了解这个函数请百度)。所以我们就可以通过这个函数来对文件夹进行重命名,就完成了上述的第一步。

    至于第二步,我们可以在cmd命令行输入:taskkill /im REDAgent.exe /f 来结束正在运行的红蜘蛛进程不同学校不同机房可能进程名字不同),其中REDAgent.exe是进程名字,你们可以根据自己学校软件进程名称不同来更改。

    如果想要把这个命令写进程序,让他自动执行,我们可以通过c/++为我们提供的system函数,这个函数可以模拟cmd执行命令,也就是说在cmd能执行的命令它都能!具体方法是system("命令")。在上述代码中,我们把命令存在字符数组中,然后将字符数组作为各个函数的参数,这样既省事又美观。

    注:以上代码默认3000soft文件夹在c盘program files里面,但是有的机房也会直接放在c盘。如果你的学校够特殊,说不定还会放在别的地方,那就需要你们自己把地址改一下了。

    PS:以上函数都没有细讲,因为你们随便百度一个都比我说的好,毕竟我也是刚学。所以如果想详细了解就麻烦你们百度搜索了。

    需要以管理员身份运行。

    没错,我在机房上课时把这篇文章敲完了。

  • 相关阅读:
    https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic net::ERR_CONNECTION_TIMED_OUT问题解决
    nginx 下使用 bootstrap 字体的问题
    php中函数preg_match或preg_match_all 第三个参数$match的解释
    thinkphp中 volist循环的 mod取值的问题
    mysql中sql注入的随笔
    修改mysql的字符集和默认存储引擎
    使用Marsedit在博客园写作
    Server Tomcat v7.0 Server at localhost failed to start.临时解决办法
    【转】Linux Mint 17.2 gedit中文乱码
    HashMap和HashSet
  • 原文地址:https://www.cnblogs.com/long98/p/10352257.html
Copyright © 2011-2022 走看看