C语言做一个恶作剧关机程序

这篇具有很好参考价值的文章主要介绍了C语言做一个恶作剧关机程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目介绍

C语言实现一个简单的"流氓软件",一个可以强制关机恶作剧关机程序,输入指定指令可以解除

二、运行截图

C语言做一个恶作剧关机程序,C语言,c语言,开发语言

然后当你输入“n”才可以解锁关机。 

C语言做一个恶作剧关机程序,C语言,c语言,开发语言

三、完整源码

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <conio.h>

int main()
{
    char input[10];
    printf("警告!您的计算机将在一分钟后关机,请保存好您的工作并退出所有程序!");
    printf("是否确认关机?(y/n): ");
    scanf("%s", input);

    while (1) {
        if (strcmp(input, "y") == 0 || strcmp(input, "Y") == 0) {
            // 记录用户选择到日志文件
            FILE *logFile = fopen("D:/a1.txt", "a");
            if (logFile != NULL) {
                time_t currentTime;
                struct tm *localTime;
                time(&currentTime);
                localTime = localtime(&currentTime);
                fprintf(logFile, "%04d-%02d-%02d %02d:%02d:%02d - 用户选择了关机\n",
                    localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday,
                    localTime->tm_hour, localTime->tm_min, localTime->tm_sec);
                fclose(logFile);
            }
            // 执行关机操作
            system("shutdown /r /t 60");
            // 显示倒计时
            for (int i = 60; i >= 0; i--) {
                printf("\r倒计时:%d秒", i);
                fflush(stdout);
                sleep(1);

                if (_kbhit()) { // 检测按键
                    char key = _getch(); // 获取按键值
                    if (key == 's' || key == 'S') { // 如果按下了's'或'S'键
                        // 记录用户选择到日志文件
                        FILE *logFile = fopen("D:/a1.txt", "a");
                        if (logFile != NULL) {
                            time_t currentTime;
                            struct tm *localTime;
                            time(&currentTime);
                            localTime = localtime(&currentTime);
                            fprintf(logFile, "%04d-%02d-%02d %02d:%02d:%02d - 用户选择了关机并取消关机\n",
                                localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday,
                                localTime->tm_hour, localTime->tm_min, localTime->tm_sec);
                            fclose(logFile);
                        }
                        // 执行取消关机操作
                        system("shutdown /a");
                        return 0;
                    }
                }
            }
            return 0;
        } else if (strcmp(input, "n") == 0 || strcmp(input, "N") == 0) {
            printf("取消关机操作。");
            return 0;
        } else {
            printf("输入错误,请重新输入");
            printf("是否确认关机?(y/n): ");
            scanf("%s", input);
        }
    }

    return 0;
}

程序首先显示警告信息,并询问用户是否确认关机。如果用户输入"y"或"Y",则程序会记录用户的选择到日志文件(D:/a1.txt),然后执行关机操作,并在倒计时60秒后关闭计算机。如果用户输入"n"或"N",则程序会取消关机操作。如果用户输入其他字符,则程序会提示输入错误并重新询问用户是否确认关机。文章来源地址https://www.toymoban.com/news/detail-753814.html

到了这里,关于C语言做一个恶作剧关机程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go 语言之 Shutdown 关机和fvbock/endless 重启

    Shutdown 源码 运行 访问:http://127.0.0.1:8080/ 运行之后访问:http://127.0.0.1:8080/,然后 CTRL C 立即停止关闭服务。 会发现控制台中 Shutdown Server ... 会先打印出来,然后是200 请求响应 ,最后 Server exiting 打印出来。 所以 Shutdown 会把未处理完的请求,处理完成后再关闭服务。 如果不

    2024年02月09日
    浏览(30)
  • 电脑关机程序

    //关机程序 1、电脑运行起来后,1分钟内关机。 2、如果输入:我是猪。就取消关机。 #includestdio.h #includestring.h int main() {     char input[20] = { 0 };     system(\\\"shutdown -s -t 60\\\"); again:     printf(\\\"请注意,你的电脑在60秒内关机。如果输入我是猪,就取消关机n\\\");     scanf(\\\"%s\\\", inpu

    2024年02月13日
    浏览(29)
  • Qt制作定时关机小程序

    引言 一般定时关机采用命令行模式,还需要我们计算在多久后关机,我们可以做一个小程序来定时关机 核心逻辑 采用信号和槽,完成事件链接

    2024年02月03日
    浏览(29)
  • Rust程序语言设计 第十二章 一个 I/O 项目:构建一个命令行程序

    本章既是一个目前所学的很多技能的概括,也是一个更多标准库功能的探索。我们将构建一个与文件和命令行输入/输出交互的命令行工具来练习现在一些你已经掌握的 Rust 技能。 Rust 的运行速度、安全性、单二进制文件输出和跨平台支持使其成为创建命令行程序的绝佳选择,

    2024年02月13日
    浏览(29)
  • 【C语言学习2——第一个C语言程序】

    程序员之间有一个约定俗成的习惯,我们在学习任何编程语言时,所写的第一个程序,就是在显示屏上 打印一行字符“Hello World”。 而为什么会有这个习惯呢?这个习惯又是从什么时候开始的呢? 其实,先让我们回顾一下C语言的历史,就可以了解到这个习惯的出处。 1972年

    2023年04月13日
    浏览(67)
  • 【自己开发小程序】自己怎么开发一个小程序呢?

    如何自己开发小程序?这是很多创业者甚至普通人的困惑。小程序不知道什么时候慢慢垄断了我们的生活。成为我们不可或缺的一部分。很多时候,当我们点奶茶扫自行车扫充电宝的时候,我们会第一时间想到小程序,甚至当我们坐地铁挂号看电影的时候,我们会第一时间被

    2024年02月11日
    浏览(31)
  • 史上最强关机恶搞小程序,附解析

    当 system 函数的参数是 \\\"shutdown\\\" 时,它将会执行系统的关机命令。 具体来说, system(\\\"shutdown\\\") 的功能是向操作系统发送一个关机信号,请求关闭 计算机。这将触发操作系统执行一系列的关机操作,包括关闭所有正在运行的程序、保存必要的系统信息、并最终关闭计算机的电源

    2024年04月09日
    浏览(36)
  • 制作一个简单的C语言词法分析程序

    C语言的程序中,有很单词多符号和保留字。一些单词符号还有对应的左线性文法。所以我们需要先做出一个单词字符表,给出对应的识别码,然后跟据对应的表格来写出程序 程序主要有循环判断构成。不需推理即可产生的符号我们可以把它包装在函数中,返回值为对应的识

    2024年02月06日
    浏览(34)
  • 用C语言写一个压缩文件的程序

    在计算机中所有的数据都是以二进制的形式存储的。 先使用C语言去读取一个视频文件:如下,该视频是某动漫的MP4文件,位置在 D:c 。 下面是代码:代码中以二进制的形式去读取该文件。 最后读取的结果如下: 因为是以二进制的数据读取,读到的内容再以整型数据的形式

    2024年02月15日
    浏览(36)
  • Swift语言配合HTTP写的一个爬虫程序

    下段代码使用Embassy库编写一个Swift爬虫程序来爬取jshk的内容。我会使用proxy_host为duoip,proxy_port为8000的爬虫IP服务器。 使用Embassy库编写一个Swift爬虫程序可以实现从网页上抓取数据的功能。下面是一个简单的步骤: 1、首先,需要在Xcode中创建一个新的Swift项目。 2、然后,需

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包