关于设置“关机病毒“的程序设计

本文介绍了如何在C语言中编写一个简单的关机倒计时程序,通过system库函数执行cmd命令,同时提供了一个用户交互环节。还讨论了如何让程序在开机时自动运行,以增加“病毒”效果。
摘要由CSDN通过智能技术生成

有很多小伙伴在学习C语言的途中,都想靠自己发财的小手来写一个像病毒一样恶搞的程序,来整蛊自己的室友或朋友,以此来找到学习的快乐,在此小编想提醒一下各位小伙伴,把自己的快乐建立在别人的"痛苦"之上,可是不厚道的喔(虽然这样真的很爽hhh~,原谅我不厚道的笑了[捂脸])

那么接下来,小编就来谈一谈在C中几乎人尽皆知的"关机病毒"程序,不知道各位大佬们能不能回忆起来呢? 

① 预备知识----cmd 及命令语句

在写这个程序之前,我们需要一点点的预备知识:

⒈了解cmd以及掌握在cmd中输入倒计时关机命令.

2. 掌握在C中与此相关的一些库函数及其所包含的头文件.

下面对第一点进行详细展开~

cmd 是啥? 有很多初次接触编程的小伙伴都有这样的疑问.  所谓cmd 就是计算机的命令行窗口,各位小伙伴可以在自己的电脑上找到这个工具~  如下图所示:

然后弹出来一这样的:

此时你就可以在光标闪烁的地方对你的计算机进行命令操作啦~

为了写这个关机程序,我们将要介绍三个命令操作:

⑴ shutdown -s   表示设置关机.

⑵ shutdown -t    表示设置时间

(3)shutdown -a   表示取消关机

因此  shutdown -s -t  表示设置倒计时关机,比如: shutdown -s -t 120  就表示设置倒计时120s 后关机(注:后面那个数字自带的单位是秒)

抱歉各位小伙伴,由于环境变量的配置问题,我这里暂时执行不了命令,不过各位小伙伴可以在自己的电脑上试试.

接下来我就要开始写关机程序啦~

② 正式开始--C中的关机程序书写

在C中,要想执行命令语句,必须使用system 库函数 ,  使用前一定要包含它的头文件 <stdlib.h>  由于这里我的电脑出现了一些问题,所以我就用CSDN 自带的代码编译器给大家写吧,希望大家理解理解,毕竟我也是一个新手~

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char input[20]={0};
    system("shutdown -s -t 300");
    while(1)
    {
        printf("请注意,你的电脑将在5分钟后关机,如果输入:我是猪 则取消关机);
        scanf("%s",input);
    
        if(strcmp("我是猪",input)==0)
         {
           system("shutdown -a");
           break;     
         }
    }

    return 0;
}

因为我没有找到格式化代码的功能,所以这是我自己瞎写的格式,还望各位多多包涵[捂脸].

首先,大家可以看到,我上来就设置5分钟之后关机,然后给了个提示,让操作者输入我是猪,则取消关机.

然后,我放了一个scanf 让操作者输入,注意:这里的"我是猪"是一个字符串,而C中没有储存字符串的数据类型,所以只能通过创建一个字符数组来储存这个字符串. 可以看到,我在这里创建了一个名为input的字符数组供读者输入(在这里你可能会疑惑,scanf 后面不是应该取出input 的地址嘛? 事实上,input 作为一个数组名,代表的就是数组首元素的地址.所以不用用 & 来取地址.关于这方面后期再做详细介绍),紧接着我就用strcmp函数 来判断操作者输入的是不是"我是猪"(关于这个函数,在我的"关于逻辑操作符及其短路原理"这一篇中有所介绍.小伙伴们也可以参见:cplusplus.com/reference/cstring/strcmp/    来了解这个函数的功能及返回值类型等等,在这里我不再过多赘述)

如果判断成功,那么就让系统取消关机.

最后再把这一段代码放到一个while的死循环中,只有判断成功才能跳出来即可.

这样,我们就成功写出一个类似于"病毒的东西"(原谅我再一次不厚道的笑了hhh~)

③ 怎样让这个程序更像一个病毒

有很多小伙伴肯定心想,如果我能让这个程序一打开电脑就运行起来,那这不是更像一个病毒了嘛hhh

那么接下来,我将为大家解析怎样实现这种效果~ 

第一步:依然在搜索中 搜索"服务" 

  点进去之后,会出现这个界面:

这个时候你在名称这一栏随便点一个,就会看到:

完成上述操作后,就可以让该程序在打开电脑时就开始运行,至于怎么找到所写的关机程序并进行上述操作,就靠小伙伴们自己去探索啦~(如果有一天你闯出祸端,不要说是我教你的喔~)

好啦~ 这一篇就到这里,我们下一篇再见!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值